Hi Jake,
That made a big difference. Here are some numbers:
Clients Loops usleep(5000) server=thread-pool rate
------- ----- ------------ ------------------ ----
20 100 In No 395
20 100 In Yes 792
100 100 In Yes 793
100 100 Out Yes 14925
500 100 Out Yes 14500 to
17700 (4 to 128 workers)
100 100 Out No 30769
300 500 Out No 29874
Do these seem reasonable to you? I guess it makes sense that the
separate thread setup costs more than it gains in performance when the
thread does nothing. (These are the maximum client counts I could use,
despite an open file limit of 10000.)
- Rush
On May 20, 2009, at 3:23 AM, Jake Luciani wrote:
there is a usleep(5000) in the client operation for just this test.
i added
this a long time ago to show the half-sync/half-async works.
you can comment it out or if you specify --server-type=thread-pool
it will
use async for io but threads for processing.
-Jake
On Wed, May 20, 2009 at 5:45 AM, Rory McGuire
<[email protected]>wrote:
I haven't used it, but non-blocking IO should out perform blocking IO
when you have more clients (try 10000).
-Rory
On Tue, 2009-05-19 at 18:08 -0700, Rush Manbert wrote:
Has anyone else built the non-blocking version of the C++ stress-
test?
When I run it with a client count of 20 and a loop count of 100 I
see
a rate value of about 395.
With the blocking version and the same parameters I see a rate
between
28000 and 34000, depending on the server type.
The TNonblockingServer header says this is a server for high
performance, but that's not what I'm seeing. I'm on Mac OS X 10.5.6.
Is there anyone else who is getting different results?
- Rush