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


Reply via email to