Open GoogleCodeExporter opened 9 years ago
Hi, thanks for the bringing this up again. On OSX, I don't see this behavior.
At least with local apache server on the same machine, max CPU usage is 60% for
me at peak time, when poll has to monitor max file descriptor count.
Can you please share some more details on your use case? OS,
target(local/remote), SSL/plaintext?
Original comment by shek...@gmail.com
on 22 Sep 2012 at 6:12
Hi,
I run a Fedora 17 64b,
I tested only remote servers,
one is a Synology nas webmanager on https, the other one is an IIS 7 running on
windows 2008.
symptoms are in both case the same : no hight cpu use during ramping up phase
but as soon as all desired sockets are at least in pending state, cpu use
reaches the top.
Original comment by sheepdes...@gmail.com
on 24 Sep 2012 at 7:43
Hi, hopefully I fixed it now. At least on my fedora. Then found there is
similar problem on mac, that still exist after fixing the fedora. There were
two issues - poll() differences between osx and fedora, and improper handling
of probe connection when system can't create any more sockets.
And thanks a lot for your feedback! If you have time, can you please make sure
it works for you, before I close the bug? Checkout trunk for the changes.
Original comment by shek...@gmail.com
on 11 Oct 2012 at 4:35
Hi, i tested last trunk, I tried on my Fedora 64b and asking for 2000
connections to a remote Synology NAS web interface but got the same results :
CPU use is low ( 5~15%) until all requested connections are at least in
"pending" state;
From there, when all the 2000 (or 3000) requested connections are in pending,
connected or closed, CPU use reaches 99%.
With a backtrack 64b virtual machine I got a bit different result:
still asking for 2000 connections to the same remote system,
CPU use stays low even after all 2000 connections are in pending state and
connected ones rise, but as soon as some of them goes from connected to closed,
CPU use reaches 99%
By the way,"initializing" state always shows 0, no matter what. Normal?
Original comment by sheepdes...@gmail.com
on 13 Oct 2012 at 1:36
it seems that CPU rises to the roof when both all connections are a least in
pending and at least one is closed, on the Fedora system and on The Backtrack
one.
i played with -r (from 50 to 200) and -c (2000 - 3000) to change the timing to
reach the "all at least in pending" state.
Is there a test protocol i could follow to make sure of what is the cause /
when it happens?
Original comment by sheepdes...@gmail.com
on 13 Oct 2012 at 2:10
Thanks for the response. It's frustrating already:)
I'll add some debug messages and a argument to enable them. On my Fedora and
OSX, problems start when OS can't allocate any more file descriptors. After my
fix I don't even see any problems with 6K connections.
"initializing" used to indicate sockets in SSL negotiation state, but after
some changes in the logic, it's pretty much obsolete state and is always 0.
Thanks for noticing, I'll remove it.
P.S. Can you run same thing with some small number of connections? Say 1000.
Original comment by shek...@gmail.com
on 14 Oct 2012 at 2:11
with 1000 connections, it's hard to see when closed connections play a role or
not as it can be quite fast,
anyway, it seems that when targeting IIS7, CPU overuse happens as soon as all
1000 connections are at least in pending (so some are already connected) even
with no closed ones
and when targeting Synology NAS, it seems that cpu use only reaches 99% from
the first closed connection (but i may be wrong here and the trigger could be
the same as the first example).
Same results on Fedora and Backtrack
Original comment by sheepdes...@gmail.com
on 14 Oct 2012 at 5:43
[deleted comment]
i tested with a remote apache server, with Fedora or the Backtrack virtual
machine.
As soon as all 1000 connections are pending or connected, CPU use goes up. That
is before any closed connections.
Original comment by sheepdes...@gmail.com
on 14 Oct 2012 at 6:43
Hi,
I upgraded my fedora system to version 18 with kernel 3.8
i did a new test against a nginx server with up to date slowhttptest and the
following command :
slowhttptest -c 2000 -X -r 200 -w 512 -y 1024 -n 5 -z 32 -k 8 -u http://testurl
-p 10 -l 240
Full Cpu use is still a concern after a short while, any hope i can help to
debug?
Original comment by sheepdes...@gmail.com
on 12 Feb 2013 at 12:46
Original issue reported on code.google.com by
sheepdes...@gmail.com
on 21 Sep 2012 at 11:43