Dear Reza,

I brought up CloudStone with ~8000 clients and was able to saturate ~6 Xeon cores. You need to tune nginx and php carefully to saturate your server machine.

For php, in php-fpm.conf, make sure that you set pm to static and gradually increase the value of pm.max_children (I used around 100 in my setup). You wouldn't like to use too many. You need to tune the number according to the QoS results.

For nginx you'd also like to increase the worker_process and worker_connections values. I used 10 and 1024 in respectively in my own setup.

Make sure that you restart nginx and php after you make these changes every time while tuning.

Both php and nginx output error messages in a log file (e.g., nginx_error.log, php.errors). You need to find their paths on the server. If there any errors due to the number of workers not being enough for a desired number of clients, you will find related error logs in these files.

Finally, don't forget to keep an eye on the network bandwidth. If you are saturating the bandwidth, you won't be able to serve a larger number of clients.


Cansu

On 05/13/2014 07:36 PM, reza azimi wrote:
Now I have 8 worker_precesses and 1024 worker connections on each node
and I can not run 2000 users on 3 nodes. So I guess I have enough number
of connections. Can you explain about how can I end up with php
misconfiguration? the only thing I changed was the worker_processes in
nginx to 8 and the maximum number of php-fpm child to 16 in
php-fpm.config. My reasoning was because I have 8 cores and alot of
memory, and It's working because I can run 1400 users on each node but I
can not go further even though I add more nodes!
Does anybody tried to have this much users before?

Regards
Reza


On Mon, May 12, 2014 at 2:19 PM, Leonardo Piga <[email protected]
<mailto:[email protected]>> wrote:

     From my experience, this seems to be either nginx or php
    misconfiguration.

    For nginx check the logs and also make sure you have a enough number
    of worker
    connections in nginx.conf file. Also check the number of worker process.

    Your maximum number of connections would be worker_processes *
    worker_connections,
    more than that nginx will reject new clients.

    Regards,
    Leonardo


    On Fri, May 9, 2014 at 12:17 AM, reza azimi <[email protected]
    <mailto:[email protected]>> wrote:
     > Thanks Cansu, I fixed the rlimit problem. I can run 1400 users on
    each
     > frontend but I can't run it for even 2000 users even on 3
    frontends. I even
     > tried to add one more load generator but no luck. I monitor the
    network,
     > cpu, memory and disk and nothing seems to be saturated. What is
    the maximum
     > number of users you ever seen in a successful run? I dont get any
    specific
     > error, it just fail as I increase the number of users. I don't
    know where to
     > look for the problem.
     > May I ask what do you think?
     >
     > Regards
     >
     >
     >
     > On Wed, May 7, 2014 at 6:29 PM, Cansu Kaynak
    <[email protected] <mailto:[email protected]>> wrote:
     >>
     >> Dear Reza,
     >>
     >> The "Too many open files” error typically occurs because of the
    value of
     >> “open files” in ulimit settings.
     >> Make sure that you set that value to unlimited and the setting
    is not
     >> valid only for the current shell (you might need to modify
     >> /etc/security/limits to change the system-wide settings).
     >>
     >> Hope this helps.
     >> Let us know if you have more questions.
     >>
     >> --
     >> Cansu
     >>
     >> On 07 May 2014, at 01:24, reza azimi <[email protected]
    <mailto:[email protected]>> wrote:
     >>
     >> Hello folks,
     >>
     >> I'm having problem scaling up web serving benchmark. My
    configuration is
     >> as follow I have 2 front ends 1 backend 1 memcached(I figure it
    out how to
     >> set it up based on cloudstone documents) and 1 load generator. I
    used the
     >> patch for the file store so I load it with 102 users as
    instructed. since
     >> each of server has 8 cores and 72 gigs of memory I increase the
     >> "worker_processes" in the nginx.conf and pm.max_children = 8 in
     >> php-fpm.conf. I ran 1200 users with one frontend without any
    error. (except
     >> Average images loaded per Home Page <3) but when I try to run
    even with 1800
     >> users on two front end I get these errors:
     >>
     >> UIDriverAgent[0].1803.doLogin: Too many open files
     >> UIDriverAgent[0].1803.doTagSearch: Too many open files
     >> IDriverAgent[0].1803.doHomePage: Too many open files
     >> ....
     >> Image at
     >>
    http://128.148.@@.@@@/fileService.php?cache=false&file=E72642T.jpg
    size of
     >> 383 bytes is too small. Image may not exist
     >> ...
     >>
     >>
     >> I tried to use this link and solve the problem but it didnt work.
     >> I've checked my cpu, memory usage using top and they are still
    below 20%
     >> in all nodes. Can you help me find the parameters that I have
    changed and
     >> also if I have to do anything to increase number of users.
     >> My question is what should I do if I want to increase the usage
    of my
     >> servers? I think the answer is increase the number of users so
    how I should
     >> increase them and have successful run ?
     >> Let me know if you need any other information
     >> Appreciate your help in advance.
     >>
     >> Regards
     >> Reza
     >>
     >>
     >>
     >>
     >>
     >>
     >


Reply via email to