I'm testing a full Elastic Stack installation (v.7.6.0) and it seems Kibana web server ("node") is not trying to exploit at best the available cores on the server where it is up and running.
Looking at the CPU load with the Linux system tool ("top", "htop", ecc) while Kibana is running what happens seems to be:
at Kibana start time there are 1+10 processes running (1 parent and 10 children) as you can see in the following figure:
then I start a stress test (using Jmeter) that sends (with a low throughput) requests to Kibana. Immediately the CPU load changes: the parent goes up more than 100% CPU; 4 children slowly take from 3 to 4 CPU percentage, and nothing else about the 6 others children (they stay at 0.0%). In the next capture image you can see the first threads ordered by CPU% running while the stresstest:
So, in order to force Kibana to use and exploit all its 10 children, I repeat the stress test sending requests with a very huge throughput. But the load of the "node" processes doesn't change as you can see:
Obviously the average response time of the stress test become very high and Kibana is not usable anymore by a web browser (along the stress test) because becomes unresponsive.
Why Kibana doesn't try to exploit all the hardware resources?
What I'm missing?
Is there a way to increase the number of threads the "node" could use?
Thanks in advance for any comments/hints.