Hi, I did a small test app that basically render a web page and do 3 queries to the database (these queries are needed to fetch some data displayed on the web page). I deployed this app with nginx+uswgi
here is the relevant nginx conf: location / { uwsgi_pass 127.0.0.1:49152; include uwsgi_params; } I configured nginx to serve the static files too: location /media { root <root path for media>; autoindex on; } I launch uswgi as follow: uwsgi --chdir=<path> -- module='django.core.handlers.wsgi:WSGIHandler()' --env DJANGO_SETTINGS_MODULE=myapp.settings --master --pidfile=/tmp/project- master.pid --socket=127.0.0.1:49152 --max-requests=5000 --process=5 then I benchmarked the app with ab: ab -n 1000 -c 4 http://127.0.0.1:80/ This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 127.0.0.1 (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Completed 1000 requests Finished 1000 requests Server Software: nginx Server Hostname: 127.0.0.1 Server Port: 80 Document Path: / Document Length: 24293 bytes Concurrency Level: 4 Time taken for tests: 28.914 seconds Complete requests: 1000 Failed requests: 0 Write errors: 0 Total transferred: 24423000 bytes HTML transferred: 24293000 bytes Requests per second: 34.59 [#/sec] (mean) Time per request: 115.654 [ms] (mean) Time per request: 28.914 [ms] (mean, across all concurrent requests) Transfer rate: 824.89 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.1 0 4 Processing: 46 115 42.6 110 636 Waiting: 46 115 42.5 109 636 Total: 46 116 42.6 110 636 Percentage of the requests served within a certain time (ms) 50% 110 66% 121 75% 131 80% 139 90% 161 95% 177 98% 203 99% 220 100% 636 (longest request) now I implemented the same app using playframework, a java based framework and benchmarked with ab again: ab -n 1000 -c 4 http://127.0.0.1:9000/ This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 127.0.0.1 (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Completed 1000 requests Finished 1000 requests Server Software: Play! Server Hostname: 127.0.0.1 Server Port: 9000 Document Path: / Document Length: 19614 bytes Concurrency Level: 4 Time taken for tests: 4.436 seconds Complete requests: 1000 Failed requests: 0 Write errors: 0 Total transferred: 19961000 bytes HTML transferred: 19614000 bytes Requests per second: 225.44 [#/sec] (mean) Time per request: 17.743 [ms] (mean) Time per request: 4.436 [ms] (mean, across all concurrent requests) Transfer rate: 4394.59 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.0 0 1 Processing: 7 18 6.6 16 47 Waiting: 6 17 6.6 16 47 Total: 7 18 6.6 16 47 Percentage of the requests served within a certain time (ms) 50% 16 66% 19 75% 22 80% 23 90% 27 95% 30 98% 34 99% 38 100% 47 (longest request) so play is outperforming django! obviously django is not in debug mode ecc..., is there something wrong in my test setup (I already tried to adjust the uwsgi launch line I tryed more process or 1 process with threads ecc with no relevant improvement) or django/python is simply much slower than java? I tried to run play behind nginx proxy too: the results are pratically identical. Note the response time too: the slowest play response is 47 ms, the fastest django one is 110 ms, any suggestion to improve performance is appreciated, thanks in advance, drakkan -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.