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

Reply via email to