[Repoze-dev] Re: Benchmarking WSGI servers (was Re: Invitation to a dance)
Tres Seaver
tseaver at palladion.com
Fri Sep 28 21:07:27 UTC 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Chris McDonough wrote:
> On Sep 28, 2007, at 2:45 PM, Jim Fulton wrote:
>
>> On Sep 28, 2007, at 2:08 PM, Tres Seaver wrote:
>>
>>> Yes, at the moment (for the standalone case). Any WSGI server should
>>> do, but the Zope3 one is more solid than the wsgiutils / paste ones
>>> seemed to be for our use case.
>> How ironic.
>>
>> I really really really wish someone would do a WSGI server
>> benchmark (set of simple tests) so that people could have a better
>> basis for selecting servers. I really don't want us to be in the
>> server business. I really want to see a benchmark that proves that
>> ours aren't the best. :) The benchmark doesn't have to be perfect.
>> Something that just did some fairly basic obvious tests would
>> probably shed a lot of light (and probably spur more benchmark
>> development).
>
> I think the most commonly used non-Apache server implementations are
> probably Paste's "http" server and PasteScript's "wsgiutils" server.
> And maybe one Twisted's but I haven't tried that.
>
> With this Paste configuration:
>
> [DEFAULT]
> debug = True
>
> [app:test]
> use = egg:Paste#test
>
> [server:paste]
> use = egg:Paste#http
> host = 127.0.0.1
> port = 8080
>
> [server:wsgiutils]
> use = egg:PasteScript#wsgiutils
> host = 127.0.0.1
> port = 8080
>
> [server:zserver]
> use = egg:repoze.zope2#zserver
> host = 127.0.0.1
> port = 8080
I added:
[server:cherrypy]
use = egg:Paste#cherrypy
host = 127.0.0.1
port = 8080
On my box, I get the following:
Twisted.Web2 ~700 req/s
wsgiutils ~900 req/s
paste ~1500 req/s
zope.server ~1500 req/s
cherrypy ~2200 req/s
I ran the twisted server with the attached server descriptor:
$ bin/twistd -ny bin/twisty.py
The others I ran under paster:
$ bin/paster --server-name=<name> --app-name test etc/zope2.ini
The endpoint in each case is egg:Paste#test (I wanted 'pony', but Chris
talked me out of it).
Running against the Zope quickstart page (editing the name in
'twisty.py', switching --app-name to 'zope'):
Twisted.Web2 ~160 req/s
wsgiutils ~165 req/s
paste ~220 req/s
zope.server ~225 req/s
cherrypy ~240 req/s
Tests run against all settings via:
$ ab -n 1000 -c 10 http://localhost:8080/
Tres.
- --
===================================================================
Tres Seaver +1 540-429-0999 tseaver at palladion.com
Palladion Software "Excellence by Design" http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFG/W0P+gerLs4ltQ4RAif5AJ9cRh2yZxVvOhSJmima/NIlPk+aHgCeLuBp
Xu5WZOe0JMYcesVq2wguMQw=
=tngk
-----END PGP SIGNATURE-----
_______________________________________________
Repoze-dev mailing list
Repoze-dev at lists.repoze.org
http://lists.repoze.org/mailman/listinfo/repoze-dev
More information about the Repoze-dev
mailing list