nginx performance on Amazon EC2
Anoop Alias
anoopalias01 at gmail.com
Thu Feb 21 04:05:12 UTC 2013
On Thu, Feb 21, 2013 at 1:43 AM, Rakan Alhneiti <rakan.alhneiti at gmail.com>wrote:
> Hello,
>
> I am running a django app with nginx & uwsgi on an amazon ec2 instance and
> a vmware machine almost the same size as the ec2 one. Here's how i run
> uwsgi:
>
> sudo uwsgi -b 25000 --chdir=/www/python/apps/pyapp --module=wsgi:application --env DJANGO_SETTINGS_MODULE=settings --socket=/tmp/pyapp.socket --cheaper=8 --processes=16 --harakiri=10 --max-requests=5000 --vacuum --master --pidfile=/tmp/pyapp-master.pid --uid=220 --gid=499
>
> & nginx configurations:
>
> server {
> listen 80;
> server_name test.com
>
> root /www/python/apps/pyapp/;
>
> access_log /var/log/nginx/test.com.access.log;
> error_log /var/log/nginx/test.com.error.log;
>
> # https://docs.djangoproject.com/en/dev/howto/static-files/#serving-static-files-in-production
> location /static/ {
> alias /www/python/apps/pyapp/static/;
> expires 30d;
> }
>
> location /media/ {
> alias /www/python/apps/pyapp/media/;
> expires 30d;
> }
>
> location / {
> uwsgi_pass unix:///tmp/pyapp.socket;
> include uwsgi_params;
> proxy_read_timeout 120;
> }
>
> # what to serve if upstream is not available or crashes
> #error_page 500 502 503 504 /media/50x.html;}
>
> Here comes the problem. When doing "ab" (ApacheBenchmark) on both machines
> i get the following results: (vmware machine being almost the same size as
> the ec2 small instance)
>
> *Amazon EC2:*
>
> nginx version: nginx version: nginx/1.2.6
>
> uwsgi version:1.4.5
>
> Concurrency Level: 500Time taken for tests: 21.954 secondsComplete requests: 5000Failed requests: 126
> (Connect: 0, Receive: 0, Length: 126, Exceptions: 0)Write errors: 0Non-2xx responses: 4874Total transferred: 4142182 bytes
> HTML transferred: 3384914 bytesRequests per second: 227.75 [#/sec] (mean)Time per request: 2195.384 [ms] (mean)Time per request: 4.391 [ms] (mean, across all concurrent requests)Transfer rate: 184.25 [Kbytes/sec] received
>
> *Vmware machine (CentOS 6):*
>
> nginx version: nnginx version: nginx/1.0.15
>
> uwsgi version: 1.4.5
>
> Concurrency Level: 1000Time taken for tests: 1.094 secondsComplete requests: 5000Failed requests: 0Write errors: 0Total transferred: 30190000 bytes
> HTML transferred: 28930000 bytesRequests per second: 4568.73 [#/sec] (mean)Time per request: 218.879 [ms] (mean)Time per request: 0.219 [ms] (mean, across all concurrent requests)Transfer rate: 26939.42 [Kbytes/sec] received
>
> As you can see... all requests on the ec2 instance fail with either
> timeout errors or "Client prematurely disconnected". However, on my vmware
> machine all requests go through with no problems. The other thing is the
> difference in reqs / second i am doing on both machines.
>
> What am i doing wrong on ec2?
>
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
Is there any data in the nginX error logs?
--
*Anoop P Alias*
GNUSYS <http://gnusys.net>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20130221/40a265b3/attachment-0001.html>
More information about the nginx
mailing list