Changeset 1426

Show
Ignore:
Timestamp:
05/02/08 18:27:11 (5 months ago)
Author:
taher
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • web/benchmarks.php

    r1369 r1426  
    1717<p>This benchmark was performed by <a href="http://www.ajo.es">Miguel Angel Ajo Pelayo</a> with Django running on Cherokee 0.6.0 and Apache 2.0.40. It shows Cherokee as a clear winner serving dynamic content. Specifically three times as much! And you haven't yet seen static results. The advantage is a lot bigger.</p> 
    1818 
     19<hr> 
    1920<pre> 
    2021  Date:    2008-03-10 23:24 
     
    123124</pre> 
    124125<h2>Old releases</h2> 
     126<p>Benchmark of Cherokee 0.5.4 under Windows, contributed to the main mailing list. Here is the link to the <a href="http://www.cherokee-project.com/pipermail/cherokee/2008-May/002757.html">non abridged post</a>.</p> 
     127 
     128<p>Cherokee had one million static requests and one million scgi dynamic requests with two <b>ab</b> commands started at about the same time. More info follows:</p> 
     129<hr> 
     130<pre> 
     131The scgi performance was quite impressive. I'm not sure about the 
     132details of Cherokee's scgi and fcgi implementation. In my testing, a 
     133multi-threaded scgi back-end written in Python was much faster 
     134handling concurrent requests than a single-threaded fcgi backend 
     135written in a compiled language, when the number of concurrent requests 
     136was more than 5. But dealing with continuous but non-concurrent 
     137requests, the natively compiled fastcgi takes about 40% of the time of 
     138what it takes the scgi Python app to handle a request. This tells me 
     139that the Python scgi backend (web.py) is able to cope with pretty 
     140heavy traffic, which will be a bit less than half of the ultimate 
     141capacity that could be achieved by running a server pool of 
     142fastcgi/scgi written in a compiled language. (I'm assuming the 
     143overhead of fcgi and scgi are similar, or the difference ignorable.) 
     144 
     145The test is done on a single-CPU vmware guest OS running on a powerful 
     146core 2 dual host. It was taking most CPU time of a core during the 
     147test. No other vms or heavy tasks were run during the tests. 
     148 
     149C:\Internet>ab -n 1000000 -c 1 http://localhost/image/google.html 
     150 
     151Server Software:        Cherokee/0.5.4 
     152Server Hostname:        localhost 
     153Server Port:            80 
     154 
     155Document Path:          /image/static.html 
     156Document Length:        67859 bytes 
     157 
     158Concurrency Level:      1 
     159Time taken for tests:   6012.703125 seconds 
     160Complete requests:      1000000 
     161Failed requests:        5 
     162   (Connect: 5, Length: 0, Exceptions: 0) 
     163Write errors:           0 
     164Total transferred:      -681476736 bytes 
     165HTML transferred:       -860476736 bytes 
     166Requests per second:    166.31 [#/sec] (mean) 
     167Time per request:       6.013 [ms] (mean) 
     168Time per request:       6.013 [ms] (mean, across all concurrent requests) 
     169Transfer rate:          -110.68 [Kbytes/sec] received 
     170 
     171Connection Times (ms) 
     172              min  mean[+/-sd] median   max 
     173Connect:        0    1  12.0      0    3015 
     174Processing:     0    2   6.1      0     203 
     175Waiting:        0    0   3.0      0     156 
     176Total:          0    4  13.2      0    3046 
     177 
     178Percentage of the requests served within a certain time (ms) 
     179  50%      0 
     180  66%      0 
     181  75%     15 
     182  80%     15 
     183  90%     15 
     184  95%     15 
     185  98%     15 
     186  99%     15 
     187 100%   3046 (longest request) 
     188 
     189 
     190 
     191 
     192C:\Internet>ab -n 1000000 -c 1 http://localhost/s/scgi/ 
     193 
     194Benchmarking localhost (be patient) 
     195Completed 100000 requests 
     196Completed 200000 requests 
     197Completed 300000 requests 
     198Completed 400000 requests 
     199Completed 500000 requests 
     200Completed 600000 requests 
     201Completed 700000 requests 
     202Completed 800000 requests 
     203Completed 900000 requests 
     204Finished 1000000 requests 
     205 
     206 
     207Server Software:        Cherokee/0.5.4 
     208Server Hostname:        localhost 
     209Server Port:            80 
     210 
     211Document Path:          /s/scgi/ 
     212Document Length:        693 bytes 
     213 
     214Concurrency Level:      1 
     215Time taken for tests:   8875.62500 seconds 
     216Complete requests:      1000000 
     217Failed requests:        5 
     218   (Connect: 5, Length: 0, Exceptions: 0) 
     219Write errors:           0 
     220Total transferred:      803000000 bytes 
     221HTML transferred:       693000000 bytes 
     222Requests per second:    112.68 [#/sec] (mean) 
     223Time per request:       8.875 [ms] (mean) 
     224Time per request:       8.875 [ms] (mean, across all concurrent requests) 
     225Transfer rate:          88.36 [Kbytes/sec] received 
     226 
     227Connection Times (ms) 
     228              min  mean[+/-sd] median   max 
     229Connect:        0    0   6.9      0    2984 
     230Processing:     0    8   8.1     15     281 
     231Waiting:        0    7   8.0      0     281 
     232Total:          0    8  10.5     15    3031 
     233 
     234Percentage of the requests served within a certain time (ms) 
     235  50%     15 
     236  66%     15 
     237  75%     15 
     238  80%     15 
     239  90%     15 
     240  95%     15 
     241  98%     15 
     242  99%     31 
     243 100%   3031 (longest request) 
     244</pre> 
     245 
     246 
     247<h2>Links to other benchmarks</h2> 
    125248        <ul> 
    126249        <li><a href="http://www.alobbs.com/news/104">Cherokee 0.4.3 pre6 benchmark</a>:<br /> <u>Cherokee</u>: 20426.30, <u>Boa</u>: 12287.60, <u>thttpd</u>: 4347.81, <u>Apache</u>: 3953.4  reqs/sec</li>