Am 14.04.2016 um 22:05 schrieb olli hauer:
On 2016-04-14 21:48, Yann Ylavic wrote:
On Thu, Apr 14, 2016 at 9:40 PM, olli hauer <oha...@gmx.de> wrote:
I've done a quick test with
$ ab -n 10000 -c 100 $host/$url
During the test the count of idle worker are incrementing and decrementing but
it ab has finished the requests the count of idle workers stays on the last
highest count ...
This looks normal to me, did the bahaviour changed w.r.t. 2.4.19?
When the stress is running, the number of idlers (workers that do
nothing) fluctuates, according to the number of connections/requests
and children created to sustain the load.
When the load stops, the number of idlers increases, and won't
decrease unless MaxSpareThreads is reached (i.e. children are stopped,
each releasing ThreadsPerChild idlers).
Ah, OK this will explain the numbers.
Unluckily I haven't looked to scoreboard with 2.4.19, but give me some minutes
...
Not that important for the current discussion, but please note that "ab"
does not use Keep-Alive connections by default. If you want to use HTTP
Keep-Alive, add "-k".
Without it you create many new connections per second (depending on
throughput this can easily be more than 1000 connections per second)
which are only used very shortly (one request) and after shutting down
they might end up in TIME_WAIT and stay there e.g. for a minute
depending on OS details (you can check via "netstat"). Once you get more
than a few thousand connections in TIME_WAIT, TCP/IP could get slower.
Thus "ab -k" will often result in more stable behavior.
Regards,
Rainer