I am testing Cherokee on my Ubuntu 9.04 server edition (Intel i7 940),
For a small static html file (1.7KB), apache 2.2 is able to process 14000
Req/s and cherokee only 10000 Req/s.
I was expecting something about 28000 Req/s for Cherokee according to the
benchmark seen on its official web site.
So what's wrong ?

Here are some informations :

I have compiled cherokee from source version 0.99.20 (configure;make;make
install)

# cherokee -i :

Compilation
 Version: 0.99.20
 Compiled on: Jul  2 2009 11:56:18
 Arguments to configure:

Installation
 Deps dir: /usr/local/share/cherokee/deps
 Data dir: /usr/local/share/cherokee
 Icons dir: /usr/local/share/cherokee/icons
 Themes dir: /usr/local/share/cherokee/themes
 Plug-in dir: /usr/local/lib/cherokee

Plug-ins
 Built-in:

Support
 IPv6: yes
 Pthreads: yes
 Tracing: no
 sendfile(): yes
 syslog(): yes
 Polling methods: select poll epoll

# cat cherokee.conf

server!bind!1!port = 9999
server!bind!1!tls = 0
server!ipv6 = 1
server!keepalive = 1
server!keepalive_max_requests = 500
server!panic_action = /usr/local/bin/cherokee-panic
server!pid_file = /usr/local/var/run/cherokee.pid
server!server_tokens = full
server!timeout = 15
vserver!10!collect_statistics = 1
vserver!10!directory_index = index.html
vserver!10!document_root = /home/elapouya/www
vserver!10!keepalive = 1
vserver!10!logger = combined
vserver!10!logger!access!buffsize = 16384
vserver!10!logger!access!filename = /usr/local/var/log/cherokee.access
vserver!10!logger!access!type = file
vserver!10!logger!error!filename = /usr/local/var/log/cherokee.error
vserver!10!logger!error!type = file
vserver!10!logger!x_real_ip_access_all = 0
vserver!10!logger!x_real_ip_enabled = 0
vserver!10!nick = default
vserver!10!rule!500!encoder!gzip = 1
vserver!10!rule!500!handler = server_info
vserver!10!rule!500!handler!type = just_about
vserver!10!rule!500!match = directory
vserver!10!rule!500!match!directory = /about
vserver!10!rule!500!match!final = 1
vserver!10!rule!400!document_root = /usr/local/lib/cgi-bin
vserver!10!rule!400!handler = cgi
vserver!10!rule!400!match = directory
vserver!10!rule!400!match!directory = /cgi-bin
vserver!10!rule!400!match!final = 1
vserver!10!rule!300!document_root = /usr/local/share/cherokee/themes
vserver!10!rule!300!handler = file
vserver!10!rule!300!match = directory
vserver!10!rule!300!match!directory = /cherokee_themes
vserver!10!rule!300!match!final = 1
vserver!10!rule!200!document_root = /usr/local/share/cherokee/icons
vserver!10!rule!200!handler = file
vserver!10!rule!200!match = directory
vserver!10!rule!200!match!directory = /icons
vserver!10!rule!200!match!final = 1
vserver!10!rule!100!handler = common
vserver!10!rule!100!handler!iocache = 0
vserver!10!rule!100!match = default
vserver!10!rule!100!match!final = 1
...
(icons and mime stuff)


The benchmaks :
###############

Cherokee listen on port 9999, apache on 80,
cherokee.html is a small static file (1.7Ko)
both web server point to the same file in these tests.

Cherokee bench :
============

ab -c 20 -t 2 http://localhost:9999/cherokee.html
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 localhost (be patient)
Completed 5000 requests
Completed 10000 requests
Completed 15000 requests
Completed 20000 requests
Finished 20020 requests


Server Software:        Cherokee/0.99.20
Server Hostname:        localhost
Server Port:            9999

Document Path:          /cherokee.html
Document Length:        1795 bytes

Concurrency Level:      20
Time taken for tests:   2.000 seconds
Complete requests:      20020
Failed requests:        0
Write errors:           0
Total transferred:      39975888 bytes
HTML transferred:       35950260 bytes
Requests per second:    10008.36 [#/sec] (mean)
Time per request:       1.998 [ms] (mean)
Time per request:       0.100 [ms] (mean, across all concurrent requests)
Transfer rate:          19516.29 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   0.4      1       8
Processing:     0    1   0.4      1       9
Waiting:        0    1   0.4      1       9
Total:          0    2   0.7      2      10

Percentage of the requests served within a certain time (ms)
  50%      2
  66%      2
  75%      2
  80%      2
  90%      3
  95%      3
  98%      3
  99%      4
 100%     10 (longest request)


apache 2.2 bench:
=============
ab -c 20 -t 2 http://localhost/cherokee.html
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 localhost (be patient)
Completed 5000 requests
Completed 10000 requests
Completed 15000 requests
Completed 20000 requests
Completed 25000 requests
Finished 27873 requests


Server Software:        Apache/2.2.11
Server Hostname:        localhost
Server Port:            80

Document Path:          /cherokee.html
Document Length:        1795 bytes

Concurrency Level:      20
Time taken for tests:   2.001 seconds
Complete requests:      27873
Failed requests:        0
Write errors:           0
Total transferred:      59487384 bytes
HTML transferred:       50037420 bytes
Requests per second:    13932.28 [#/sec] (mean)
Time per request:       1.436 [ms] (mean)
Time per request:       0.072 [ms] (mean, across all concurrent requests)
Transfer rate:          29037.78 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   0.2      1       3
Processing:     0    1   0.3      1       6
Waiting:        0    1   0.3      1       6
Total:          1    1   0.3      1       6

Percentage of the requests served within a certain time (ms)
  50%      1
  66%      1
  75%      2
  80%      2
  90%      2
  95%      2
  98%      2
  99%      2
 100%      6 (longest request)


Note : apache configuration is a standard one (out of the box), not
optimized !

May be it is a Ubuntu/debian issue : what do you think ?

Eric
_______________________________________________
Cherokee mailing list
[email protected]
http://lists.octality.com/listinfo/cherokee

Reply via email to