nginx performance on Amazon EC2
Rakan Alhneiti
rakan.alhneiti at gmail.com
Thu Feb 21 05:04:52 UTC 2013
Hello,
Yes my vm machine is working on my local network. I am referring to it
rather so show that it performs better & no issues appear there.
I tried both Amazon EC2 small instance & a linode 2048 instance and both
give the exact same result as well.
When doing apache benchmark, i can see the following in my nginx error log:
[error] 4167#0: *27229 connect() to unix:///tmp/pyapp.socket failed (11:
Resource temporarily unavailable) while connecting to upstream, client:
127.0.0.1, server: mysite.com
and
upstream prematurely closed connection while reading response header from
upstream, client: 127.0.0.1, server: mysite.com
Other than that, there's nothing in django error log but here's what i can
see in uwsgi's daemon log:
Wed Feb 20 21:59:51 2013 - writev(): Broken pipe [proto/uwsgi.c line 124]
during GET /api/nodes/mostviewed/9/?format=json (127.0.0.1)
[pid: 4112|app: 0|req: 34/644] 127.0.0.1 () {30 vars in 415 bytes} [Wed Feb
20 21:59:42 2013] GET /api/nodes/mostviewed/9/?format=json => generated 0
bytes in 8904 msecs (HTTP/1.0 200) 3 headers in 0 bytes (0 switches on core
0)
Wed Feb 20 21:59:51 2013 - writev(): Broken pipe [proto/uwsgi.c line 124]
during GET /api/nodes/mostviewed/9/?format=json (127.0.0.1)
[pid: 4117|app: 0|req: 1/645] 127.0.0.1 () {30 vars in 415 bytes} [Wed Feb
20 21:59:46 2013] GET /api/nodes/mostviewed/9/?format=json => generated 0
bytes in 5021 msecs (HTTP/1.0 200) 3 headers in 0 bytes (0 switches on core
0)
and stuff like:
Wed Feb 20 20:01:01 2013 - uWSGI worker 1 screams: UAAAAAAH my master
disconnected: i will kill myself !!!
What do you guys think?
Thanks alot
Best Regards,
*Rakan AlHneiti*
Find me on the internet:
Rakan Alhneiti <http://www.facebook.com/rakan.alhneiti> |
@rakanalh<https://twitter.com/rakanalh>
| Rakan Alhneiti <http://www.linkedin.com/in/rakanalhneiti> | alhneiti
----- GTalk rakan.alhneiti at gmail.com
----- Mobile: +962-798-910 990
On Thu, Feb 21, 2013 at 7:33 AM, David | StyleFlare <david at styleflare.com>wrote:
> Really you would have to do this test on 2 amazon servers and then see
> if one was more performant.
> Then you can assume something is wrong.
>
> Based on the configs everything looks right.
>
> The fact that your vmware server is better performing, is really not
> saying much. Its really hard to directly compare.
>
> I would presume so many other factors.
>
> Is the vmware box on a local network?
>
>
>
>
>
> On 2/20/13 11:05 PM, Anoop Alias wrote:
>
>
>
> 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: 12
>> 6, 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>
>
>
> _______________________________________________
> nginx mailing listnginx at nginx.orghttp://mailman.nginx.org/mailman/listinfo/nginx
>
>
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20130221/722b47b5/attachment-0001.html>
More information about the nginx
mailing list