Web framework

Carlos Ribeiro carribeiro at gmail.com
Thu Mar 10 07:16:34 EST 2005


On 10 Mar 2005 03:30:28 -0800, Gianluca Sartori <g.sartori at gmail.com> wrote:
> Hi Christian, thanks for your replay. I gave a quick look at cherryPy
> too, but I had the impression it wasn't enought to be used in a real
> world contest. What about performances? Can I safely consider it to
> develop an Intranet/Extranet? My main concern is with scalability. What
> will happend if my user-base will grow? What if I had to add web
> services interface (say XML-RPC or SOAP) to my application? Can I do it
> in a second time without spending too much time/money?

Far from true :-) A few data points (taken from
http://www.cherrypy.org/wiki/CherryPySpeed):

- In 99% of the cases, the answer is "this depends on your actual
application code, not on CherryPy itself".

- CherryPy averages 429 requests/second, in threaded mode (which
includes the penalty for thread-switching), in a  Pentium 1.6 Ghz, 1GB
RAM, under Windows XP 2. The test was run using ab, the load testing
tool from the apache project.

- In practice, we found it easier to exceed available bandwidth than
to exceed CherryPy's limits. With something as low as 200 requests/s
one can get a few MB/s of throughput (that's measurable, but I don't
have the numbers for this test; but to the math yourself, for a 10Kb
page...). Of course, Intranet sites do not suffer from this problem,
but the userbase is usually limited.

- The worst case scenario is when one have lots of small objects to
serve. This usually means static content (icons & small gif files),
and can be greatly accelerated by running CherryPy under a caching
frontend - either Apache, or even squid in web acceleration mode work
just fine.

While you are at it, check also this page:

http://www.cherrypy.org/wiki/CherryPyProductionSetup

-- 
Carlos Ribeiro
Consultoria em Projetos
blog: http://rascunhosrotos.blogspot.com
blog: http://pythonnotes.blogspot.com
mail: carribeiro at gmail.com
mail: carribeiro at yahoo.com



More information about the Python-list mailing list