The modules I used are all standard via installation with apt-get. Python is 2.5.2, and psycopg2 is 2.0.7
On Feb 10, 9:58 am, Jonathan Lundell <jlund...@pobox.com> wrote: > Good work. > > You mentioned that you're using Debian Lenny. What version of Python? 2.5.2? > > And what version of psycopg2? > > On Feb 9, 2011, at 10:38 PM, VP wrote: > > > > > Alright people.... short answer: I think I figured this out (at least > > with my configuration)!!!! > > > After testing various configurations, here's the result with: ab -kc > > 100 -t 20https://domain.com/imageblog/default/index/ (same > > imageblog app, 100 connections, 20 seconds stress test). > > > Two things you will notice with this result. > > > 1. ZERO failed request. No more wsgi premature script error!!!! > > 2. Complete requests is 1234, 61 requests/second on average. > > Compare to prior configuration: 588 total requests, 29 requests/ > > sec on average. Not to mention 15 failed requests due to wsgi > > premature script errors!!! > > > This is insane!!! > > > So how did I configure this? here it is: > > > WSGIDaemonProcess web2py user=username group=username \ > > display-name=%{GROUP} processes=5 threads=1 > > > The important option being 5 processes, 1 thread. > > > With this configuration, my real app also did not get wsgi premature > > script errors anymore. And guess what... the requests/sec > > triples!!!! > > > I am still curious about this. While my real app can possibly be not > > thread-safe, but the imageblog app should be thread safe (the index > > was simply a listing of images, i.e. read only). Why would there be a > > problem with more than 1 thread? > > > ============ > > > Document Path: /imageblog/default/index > > Document Length: 13083 bytes > > > Concurrency Level: 100 > > Time taken for tests: 20.008 seconds > > Complete requests: 1234 > > Failed requests: 0 > > Write errors: 0 > > Keep-Alive requests: 1234 > > Total transferred: 16827432 bytes > > HTML transferred: 16171262 bytes > > Requests per second: 61.68 [#/sec] (mean) > > Time per request: 1621.377 [ms] (mean) > > Time per request: 16.214 [ms] (mean, across all concurrent > > requests) > > Transfer rate: 821.33 [Kbytes/sec] received > > > Connection Times (ms) > > min mean[+/-sd] median max > > Connect: 0 1 9.4 0 73 > > Processing: 82 481 890.5 317 5475 > > Waiting: 76 443 878.7 274 5393 > > Total: 82 483 894.7 317 5503 > > > Percentage of the requests served within a certain time (ms) > > 50% 317 > > 66% 342 > > 75% 360 > > 80% 372 > > 90% 416 > > 95% 489 > > 98% 5351 > > 99% 5397 > > 100% 5503 (longest request) > > ======== > >