nope. web2py doesn't save a session if no changes to the session has been 
made, so that's not the case.
PS: give the guy some slack, it is one of the most documented benchmark 
around. However, there is obviously something wrong in his setup. My 
numbers are not even remotely comparable.

I had no time to set up 2 rigs to make tests, but I figured "what the 
heck". 
I have my rig, a full blown desktop installation of ubuntu 10.04, python 
2.6.5, no virtualenvs (commented out the relevant lines on the config files 
(uwsgi.ini)). Machine is an Intel i7 920 2.6 Ghz, 12 GB RAM. Apache Bench 
is executed on the same machine (Version 2.3 <$Revision: 655654 $>)

uwsgi 1.2.6 lying around, web.py 0.37 and of course web2py 2.0.9.
 
Downloaded the repo and set up 4 tests:
1) web2py the way the test has been made (to set a "reference")
2) web.py the way the test has been made (to set a "reference")
3) web2py with "session.forget()" just before "return 'Hello World!'", 
compiled app, no default "internal-redirection" (the way it's supposed to 
be the test of web2py)

Attached the results 

For the ones that don't want to read, here's the summary
1) Rps:    3190.58  99% ms   369
2) Rps:    5416.62  99% ms   230
3) Rps:    3304.90  99% ms   359

So, still on the tail, but not that far.

@all: benchmarks are useful, documented one as this one is the best thing 
you can get, but remember that no app is a "hello world". 
I'm going to test django for everyone's mental-sanity. Wait a few.

-- 



###### 1) web2py
niphlod@li-mostro7:~$ ab -c 1000 -n 1000000 http://127.0.0.1:8080/welcome
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)
....
Finished 1000000 requests


Server Software:
Server Hostname:        127.0.0.1
Server Port:            8080

Document Path:          /welcome
Document Length:        12 bytes

Concurrency Level:      1000
Time taken for tests:   313.423 seconds
Complete requests:      1000000
Failed requests:        0
Write errors:           0
Total transferred:      318000000 bytes
HTML transferred:       12000000 bytes
Requests per second:    3190.58 [#/sec] (mean)
Time per request:       313.423 [ms] (mean)
Time per request:       0.313 [ms] (mean, across all concurrent requests)
Transfer rate:          990.82 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.4      0      18
Processing:    22  313  13.8    310     400
Waiting:       22  313  13.8    310     399
Total:         40  313  13.7    310     400

Percentage of the requests served within a certain time (ms)
  50%    310
  66%    313
  75%    315
  80%    316
  90%    321
  95%    344
  98%    367
  99%    369
 100%    400 (longest request)


###### 2) web.py (without thread-stacksize = 64, won't work on my rig)
niphlod@li-mostro7:~$ ab -c 1000 -n 1000000 http://127.0.0.1:8080/welcome
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)
....
Finished 1000000 requests


Server Software:
Server Hostname:        127.0.0.1
Server Port:            8080

Document Path:          /welcome
Document Length:        12 bytes

Concurrency Level:      1000
Time taken for tests:   184.617 seconds
Complete requests:      1000000
Failed requests:        0
Write errors:           0
Total transferred:      31000000 bytes
HTML transferred:       12000000 bytes
Requests per second:    5416.62 [#/sec] (mean)
Time per request:       184.617 [ms] (mean)
Time per request:       0.185 [ms] (mean, across all concurrent requests)
Transfer rate:          163.98 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.7      0      22
Processing:    21  184   7.9    183     243
Waiting:       20  184   7.9    183     243
Total:         42  184   7.7    183     243

Percentage of the requests served within a certain time (ms)
  50%    183
  66%    183
  75%    184
  80%    184
  90%    186
  95%    193
  98%    216
  99%    230
 100%    243 (longest request)


###### 3) session.forget() compiled web2py no default redirection
ab -c 1000 -n 1000000 http://127.0.0.1:8080/welcome/default/index
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)
....
Finished 1000000 requests


Server Software:
Server Hostname:        127.0.0.1
Server Port:            8080

Document Path:          /welcome/default/index
Document Length:        12 bytes

Concurrency Level:      1000
Time taken for tests:   302.581 seconds
Complete requests:      1000000
Failed requests:        0
Write errors:           0
Total transferred:      230000000 bytes
HTML transferred:       12000000 bytes
Requests per second:    3304.90 [#/sec] (mean)
Time per request:       302.581 [ms] (mean)
Time per request:       0.303 [ms] (mean, across all concurrent requests)
Transfer rate:          742.31 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.5      0      18
Processing:    22  302  13.6    299     394
Waiting:       22  302  13.6    299     394
Total:         40  302  13.5    299     394

Percentage of the requests served within a certain time (ms)
  50%    299
  66%    302
  75%    303
  80%    305
  90%    317
  95%    333
  98%    347
  99%    359
 100%    394 (longest request)

Reply via email to