Which VPN is a listener thread attached to?
Posted in 2025
Jacob Salomon asked how to identify Informix listener threads, their ports and load. Markus Holzbauer suggested onstat -g ntt filtered for tcplst, which shows host and port. Jacob said that answered the first two questions and sketched netstat counting of connections per port from sqlhosts, which he considered an OS matter. Per-listener queue depth stayed open.
Auto-generated by Claude from the posts below — may be imperfect; read the full thread.
Topics: Jobs, Consulting & Announcements
Hi again, folks.
I can run onstat -g ntd and get something like:
Client Type Calls Accepted Rejected Read Write
sqlexec yes 239551 150184 161200133 161090285
srvinfx yes 0 0 0 0
onspace yes 0 0 0 0
onlog yes 0 0 0 0
....
listener yes 0 0 239379 75102
...
Totals 239551 150226 167745151 161247376
But this tells me only how busy the lister threads are, collectively.
When I run onstat -g glo I get information on all VPs but not something I can tie to a listener (or other) thread.
Someone just showed my onstat -g ntt and had to spoon-feed me that the name of a listener thread is tlitcplst. But where are documented the names of each type of thread? That aside: I see from onstat -t ath that there are some threads named tlitcplst (presumed to be listener threads) and these are running under CPU-VPs:
Threads:
tid tcb rstcb prty status vp-class name
...
42 180c6dd30 0 2 sleeping forever 1cpu* tlitcplst
43 180d35d30 0 2 sleeping forever 8cpu* tlitcplst
44 17fed9870 0 2 sleeping forever 9cpu* tlitcplst
45 180e8fd08 0 2 sleeping forever 10cpu* tlitcplst
47 17ffbe050 0 2 sleeping forever 11cpu* tlitcplst
49 18005e4e8 0 2 sleeping forever 12cpu* tlitcplst
52 18014e050 0 2 sleeping forever 13cpu* tlitcplst
55 180216788 0 2 sleeping forever 14cpu* tlitcplst
62 18014eb60 0 2 sleeping forever 15cpu* tlitcplst
69 18055e2f0 0 2 sleeping forever 16cpu* tlitcplst
so this may be what I'm looking for.
Can someone confirm that these are indeed the listener threads I'm looking for?
Jacob (MAN! I'm all over the place on this one!) S
------------------------------
+-----------------------------------------------------------+
| I am pleased to report that I had no problems today. |
| I had only issues, opportunities, challenges and valuable |
| learning experiences. |
+------------------------------------------ Jacob S --------+
------------------------------
Hi again, folks.
I think I can clarify my question rather than jumping "all over the place". This boils down to a few questions:
How can I see all listener threads? I do believe they are buried in the haystack of
onstat -g {ath|act}but I want to recognize a listener thread when I see one so I can grep for it.
For each listener thread, is there a way I can identify which port (==> server alias) it is listening on?
And once I have identified that, is there a way I can see how many requests it is currently servicing and how many are awaiting service?
That last one may be a netstat-related command outside of Informix, one that operates on the port (in /etc/services) but perhaps that knowledge is available in this vast sea of Informix lore.
We are trying to find out why a specific port is hanging while others, for other server aliases, are just fine.
Thank y'all for direction and light.
------------------------------
+-----------------------------------------------------------+
| I am pleased to report that I had no problems today. |
| I had only issues, opportunities, challenges and valuable |
| learning experiences. |
+------------------------------------------ Jacob S --------+
------------------------------
Hello Jacob,
try following to find out which network listeners are running:
$ onstat -g ntt | egrep "tcplst|address"
hostname/ip + port + protcoll should be shown...
Cheers,Markus
------------------------------
Markus Holzbauer
------------------------------
Thanks MUCH Markus.
It beautifully answers my first 2 questions. As to seeing how busy that port is, I'll have to nag one of my local network gurus about that. I am told there is no built-in tool within Solaris to track how busy a port is, although a heavily filtered netstat output - looking or only those service ports listed in sqlhosts - and tell us how many connections there are on a port at any moment in time.
I can combine this with information consolidated from
$ onstat -g ntt (Thanks again, Markus)
$ onstat -g ntu (and admin reference right after ntt)In both calls, I can grep for "lst" listeners, both tli and soc
Here's sketch of that heavily filtered netstat pipeline:
$ netstat | cut -d' ' -f1| cut -d. -f4| sort | uniq -cAs mentioned earlier: This needs to be further filtered for only those ports that are listed in sqlhosts. To get those ports:
$ grep -v '^#' $INFORMIXSQLHOSTS|grep -v '^$'| awk '{print $4}'I think I'm off to a good start on this. (Except that the cut command in the loop is "not found". Ouch!)
Jacob S.
Related threads
- Posting from the Informix-list
- Migrating from IDS 9.40.UC6 to 11.50.UC3
- Ip for a network session
- questions onstat -g