In this benchmark I've tested Cherokee and Lighttpd server with django running via SCGI. Those tests shouldnt be trusted in 100%.

Cherokee SCGI

Web Site: http://www.0x50.org/
Config: add to cherokee.conf (probably in /etc/cherokee/):
Directory / {
   Handler scgi {
      Server localhost:8080
   }
}
Where "localhost:8080" is "host:port" of the running SCGI.
- Download: django-scgi.py
- Put it in your django project folder
- Run:
python django-scgi.py --projects=/path/to/project/dir/ --settings=projectname.settings --host=localhost --port=8080

python django-scgi.py --projects=/var/www/ --settings=djn.settings --host=localhost --port=8080
Where /var/www/djn is the location of a project (called djn)
- Start the server. You should see your django pages as on django server.

RESULTS

Errors:
- 200 conns/s: 1415 errors
- 300 conns/s: 0 errors
- 400 conns/s: 27951 errors
- 500 conns/s: 32429 errors

Average connection time (ms):
200: 54.6
300: 2.7
400: 1662.9
500: 227,3

Lighttpd SCGI

Config: add to lighttpd.conf:
 scgi.server             = ( "/" =>
                                   ( "localhost" =>
                                     (
                                       "host" => "127.0.0.1",
                                       "port" => 8080,
                                       "check-local" => "disable"
                                     )
                                   )
                                )
In the same file in "server.modules" add "mod_scgi",
The rest like for cherokee.

RESULTS

Errors:
- 200 conns/s: 0 errors
- 300 conns/s: 0 errors
- 400 conns/s: 38347 errors, lighttpd crashing
- 500 conns/s: 40000 errors, lighttpd crashing

Average connection time (ms):
200: 2.5
300: 2.7
400: 1691.0
500: -
blog comments powered by Disqus

Categories