Hi,

Is there anyway you can upload the project to bitbucket or github ?

Regards,
Xavier.

Le 6 juil. 2011 à 01:31, drakkan a écrit :

> Hi,
> 
> thanks for your comments, I installed django-debug toolbar and I can
> confirm I'm doing similar queries from both django and play. The query
> I do with hibernate in play should be slower since I'm doing a left
> outer join while django do an inner join, since the field on which I
> join cannot be null.
> 
> I tryed gunicorn but it gives similar performance to uwsgi, I'm
> testing on my latptop (1 core). Maybe there is something wrong in my
> template but it is basically a base.html and then index.html that
> extends base.html, additinally I have some "include <other.html>"
> where other.html is a small fragment of code
> 
> On 6 Lug, 01:07, Jonas Geiregat <jo...@geiregat.org> wrote:
>> We all know python is slower in raw execution speed than it's brother Java 
>> but I can't imagine it to be _that_ slow.
>> 
>> Maybe there's something wrong with the queries you perform. Django's ORM is 
>> know for it's 'hidden execution' of queries. Some more insight in your 
>> querying code might be useful.
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>>> 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 4http://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 4http://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 
>>> athttp://groups.google.com/group/django-users?hl=en.
>> 
>> Jonas Geiregat
>> jo...@geiregat.org
> 
> -- 
> 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.
> 

-- 
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.

Reply via email to