Hi, Sorry for the late reply, answers between lines:
On Fri, Sep 27, 2013 at 12:48 PM, Null4Ever <[email protected]> wrote: > Hi all,**** > > ** ** > > I already requested some explanations about how to make Monkey able to > respond to more than 504 simultaneous clients connections (63 clients per > core x 8 cores => that is the limit I get on my machine with an AMD 8150 FX > 8 Cores @ 4.2 GHz, with 32 Gb of RAM and 2 SSD Crucial 240 Gb.) but never > got any answer!**** > > ** > The first thing is to define the number of workers that you want to have. In the monkey.conf configuration file you can set Workers key to some value > 0 (value 'zero' means spawn one worker per CPU core). Monkey will be able to handle 1/2 of file descriptors limits imposed by the system for the process, e.g: if you check your limits with "ulimit -a", you will see something like: $ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 62698 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 62698 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited the "open files" line means the number of open file descriptors that the program can have open, so if it says 1024, Monkey will allow 512, because it reserve 50% of them for any later usage for plugins or any other related task. In order to increase the capacity you have to increate the open files limit, e.g: $ ulimit -n 2048 now you will see the number of open files increased to 2048, depending of your Linux distro a higher number would require root privileges to perform that change. ** > > I’m writing an article comparing the raw performances of several Web > Servers with multiple detailed benchmarks using both small and medium HTML > fixed size files as well as small and large dynamic contents requests and > it would be a shame to see Monkey excluded from the competition since it > always stops to respond when the 504 simultaneous clients connections limit > is reached but that all the 5 other web servers sustain (with of course > different results).**** > > ** ** > > So, is anyone able to tell me where in the code of Monkey I can change > this current per core limit of 63 simultaneous clients, let’s say to try a > minimum of 128 up to a maximum of 256 (that are values easily supported by > some of the Monkey’s competitors)?**** > > ** > already explained above. > ** > > If not, the benchmark graphs will show Monkey at the last place, even > after the good "old dog" Apache2!**** > > ** ** > > Is this what you want to read in a large specialized computer revue that > would ruin this community efforts?**** > > > just make sure to use the proper tool for benchmark, as we talked in private email we use the 'wr' tool which is a wrapper over weighttp: https://github.com/edsiper/wr once you get the source code just type 'make', then to run the tool you need to know the following: 1) Web Server process ID, on this case Monkey PID 2) Number of initial concurrent client connections 3) Number of maximum concurrent client connections 4) Number of requests per client connection 5) Step client connections we suggest: ./wr -r 500000 -c 100 -l 500 -s 10 -p MONKEY_PID http://host:port/file... if is there anything extra you need help with let us know, best -- Eduardo Silva http://edsiper.linuxchile.cl http://monkey-project.com
_______________________________________________ Monkey mailing list [email protected] http://lists.monkey-project.com/listinfo/monkey
