RkBlog

Hardware, programming and astronomy tutorials and reviews.

cherokee and lighttpdf Django SCGI benchmark

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: -
RkBlog

Web development, 14 July 2008, Piotr Maliński

Comment article