Is a client robot an OS thread?

Alberto Klocker alberto.klocker at
Mon Sep 9 01:40:16 UTC 2013


We run tests on a 10 Gb network environment with Polygraph as one of
the benchmarking tools but have found we are hitting 100% CPU usage on
both the poly-client and poly-server which would indicate we need to
spread the processes and systems out.

How well does the reporting engine handle log files from multiple sources?

Say I were to script a system that launches two or three instances of
the client and server, will the reporting engine be capable of
combining the results into one report?

Would it be better I write something that "merges" the results together?

I'm curious to see what others have done to ramp Polygraph up above
its single core limits.

We can get 10 Gb throughput with large files but my goal is to find
maximum, stable concurrent connections.

Any help is much appreciated!

Kevin Xie1 <Kevin_Xie1 at
<>> writes:

>* Thanks for your quick response, Dmitry.*>**>* However, I don't understand how a single thread can simulate multiple*>* concurrent "users" submitting request to web servers. Is it that the*>* single thread iterates all open connections one by one (submitting a*>* request or processing response one at a time)?*
Sort of, though details are more complex than that.  If you are
interested, search for I/O multiplexing.

>* bound by CPU since just 1 core is used at a time, or by slow*>* connections ..., do I miss something here, or my understanding is*>* fundamentally wrong?*>**
The fact that a single polygraph process can use only a single core may
be a limitation indeed.  But moving each simulated agent to a separate
OS thread is not the solution.

You can run multiple Polygraph client or server processes on a single
system.  But that makes it harder to manage the test and usually
requires some auxiliary scripts to start all processes.

It would be nice to have SMP support in Polygraph and we have some ideas
about it.  But so far there has not been enough interest in such
project.  Patches or sponsorships are welcome.

In any case, please do not make conclusions about Polygraph performance
from the fact that it is single-threaded.  Polygraph is successfully
used for high performance tests in 10Gbit networks (though it may
require multiple Polygraph processes and/or systems).


>* Appreciated for any light shed!*>**>* Kevin*>**>* -----Original Message-----*>* From: Dmitry Kurochkin [mailto:dmitry.kurochkin at <>] *>* Sent: May-03-12 3:19 PM*>* To: Kevin Xie1*>* Cc: users at <>*>* Subject: Re: Is a client robot an OS thread?*>**>* Hi Kevin.*>**>* Kevin Xie1 <Kevin_Xie1 at <>> writes:*>**>>* Hi,*>>**>>* Is a client robot a real OS thread? I'm using web polygrah in Linux,*>>* but I doesn't see multiple threads in the OS during a test with 500*>>* robots.*>>**>**>* Polygraph client and server processes are single-threaded.  All Robot*>* and Server agents are running in a single thread.*>**>* Regards,*>*   Dmitry*>**>>* Thanks,*>>* Kevin*

*Alberto Klocker* | Software Developer |
*D: *+61 3 9895 8006 | *T*: +61 3 9898 8000 | @AlbertoKlocker
 Please consider the environment before printing this email
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Users mailing list