Webserver thread id

Hi,

We recently experiment very high CPU usage. Normally, our CPU is running between 30% and 40%.

It happened suddenly one or twice a day. The CPU stay at 90+% for about 30 minutes and then it goes down to normal.

When it happened, some threads (4 or 5) each 10% of CPU. After a while, JAVA kill thoses threads and that’s why the CPU come back to normal.

In the gateway Thread webpage, the is several webserver thread. It seems to have one webserver per client. Is there a way to know wich client is deserved by a webserver thread?

1 Like

Nobody know what this id refer to?

There is one webserver thread per client connected to the gateway. There should be a way to do the link between this id and the client id that is shown in the client page:

1 Like

Those ids are not correlated at all. The webserver id is generated by Jetty (our backing webserver) and the client ID is generated by our code. One Vision client can potentially generate many webserver threads, so there really isn’t a good way to match requests to clients.

Hum ok…

This is really not an easy one. We have CPU hisgh usge (>90%) for about 30 minutes. When it happened, we know there is 5 webserver threads that each use 10% CPU. After about 30 minutes, thoses threads are killed by the system and the cpu goes back to normal…

Is there a way to find out what a webserver thread is doing?

The best way to tell what a thread is doing is taking a look at the stack trace while you’re in one of those CPU spikes. Don’t worry about trying to show the individual thread on the status page - just get a few overall thread dumps, either from the gateway webpage or the GCU. Support can take a look at them, or you can post them here, though I can’t promise whether I’d have time to review them.