Note that there are some explanatory texts on larger screens.

plurals
  1. PONginx scaling and bottleneck identification on an EC2 cluster
    primarykey
    data
    text
    <p>I am developing a big application and i have to load test it. It is a EC2 based cluster with one HighCPU Ex.Large instance for application which runs PHP / NGinx.</p> <p>This applicaton is responsible for reading data from a redis server which holds some 5k - 10k key values, it then makes the response and logs the data into a mongoDB server and replies back to client.</p> <p>Whenever i send a request to the app server, it does all its computations in about 20 - 25 ms which is awesome.</p> <p>I am now trying to do some load testing and i run a php based app on my laptop to send requests to server. Many thousands of them quickly over 20 - 30 seconds. During this load period, whenever i open the app URL in the browser, it replies back with the execution time of around 25 - 35 ms which is again cool. So i am sure that redis and mongo are not causing bottlenecks. But it is taking about 25 seconds to get the response back during load.</p> <p>The high CPU ex. large instance has 8 GB RAM and 8 cores. </p> <p>Also, during the load test, the top command shows about 4 - 6 php_cgi processes consuming some 15 - 20% of CPU. </p> <p>I have 50 worker processes on nginx and 1024 worker connections.</p> <p>What could be the issue causing the bottleneck ?</p> <p>IF this doesnt work out, i am seriously considering moving out to a whole java application with an embedded webserver and an embedded cache.</p> <p>UPDATE - increased PHP_FCGI_CHILDREN to 8 and it halfed the response time during load</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload