Re: Looking for a high performance web server written in Python, and supports CGI/FastCGI
Thanks Tim and Gerard for recommending karrigell. I just checked it out. It is indeed a nice package. However, I didn't find it easier to learn or use than CherryPy though. I read through CherryPy tutorials and have got a good idea how to use it. I also read Karrigell docs. The way Karrigell uses subpath behind CGI file name is a little strange to me. Nonetheless, Karrigell looks very nice to me but I may start with CherryPy. What's missing (according to my requirement/wishlist) is, as a web server, the build-in web server does not handle CGI or FastCGI apps, making python the only way to write apps... "Tim Williams" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > On 07/07/06, Jack <[EMAIL PROTECTED]> wrote: >> I just did some testing between CherryPy's web server and lighttpd. >> My test was very simple and I used ab.exe for this purpose. >> CherryPy web server can serve about 140 simple request / second, while >> lighttpd can handle around 400 concurrent requests. >> >> > You haven't really said much about your requirements though. Perhaps >> > if you describe them in more detail (for example, what does "high >> > performance" mean to you?) someone can make a more useful >> > recommendation. >> > > > Karrigell has an async server, in standalone mode it won't be as fast > as lighttpd but its simpler to use and code in than cherrypy. > However, it can also work behind lighttpd, so you might get a good > mix of server speed and fast development time. > > http://www.karrigell.com > > HTH :) -- http://mail.python.org/mailman/listinfo/python-list
Re: Looking for a high performance web server written in Python, and supports CGI/FastCGI
I'm using CherryPy 2.2.1. I just ran benchmark.py multiple times. The fastest it got is 195 req/sec, with 50 threads. Python was taking 50+% CPU when the test was running. > It would be good to know which version of CherryPy you are using. That > wiki page is talking about the CP 2.0 branch; 2.1 and later are quite > different. If you have a later version, try using > cherrypy/test/benchmark.py > > Note also that you can use lighttpd as an HTTP server for CherryPy apps > via FCGI/SCGI. -- http://mail.python.org/mailman/listinfo/python-list
Re: Looking for a high performance web server written in Python, and supports CGI/FastCGI
Just thought I'd mention it. As stated in some posts I put on the list in the last few days, I'm working on a FastCGI server for python. Of course its not as fast as lighttpd, but I think it still has many applications. I've currently got a *very* simple prototype, but I expect the finished module to subclass BaseHTTPRequestHandler and work similar to the CGIHTTPServer module. I'll let everyone know when its ready, and you can try it out if you like ;) -- mthorley -- http://mail.python.org/mailman/listinfo/python-list
Re: Looking for a high performance web server written in Python, and supports CGI/FastCGI
You are right. Load test can be complicated because of the various patterns of web applications and usages. The simple tests I mentioned and conducted just give myself some idea about the performance. Given the same set up, some numbers should be comparable and reveal some aspects on web servers' performance. They are by no means formal load tests, but they are helpful to me :-) "Istvan Albert" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] >> >> I will have to install lighttpd or other web servers. > >> If it is a Python web server, it would be nice to extend it by putting >> code >> right into the web server. The performance should be better than FastCGI >> because it removes the cost to send the requests/replies back and forth. > > you'll need to make a distinction between a webserver written in python > (primary purpose to serve data) and a web framework that integrates > python and allows you to generate said data with python > > as for the so called load test that you mention above, those "tests" > are pointless and provide no insight whatsoever to the realistic > behavior of the server ... unless of course all your users are expected > to connect from the same machine while asking for the same 2 byte file > at the maximum speed the system allows them to. > -- http://mail.python.org/mailman/listinfo/python-list
Re: Looking for a high performance web server written in Python, and supports CGI/FastCGI
> >> I will have to install lighttpd or other web servers. > If it is a Python web server, it would be nice to extend it by putting code > right into the web server. The performance should be better than FastCGI > because it removes the cost to send the requests/replies back and forth. you'll need to make a distinction between a webserver written in python (primary purpose to serve data) and a web framework that integrates python and allows you to generate said data with python as for the so called load test that you mention above, those "tests" are pointless and provide no insight whatsoever to the realistic behavior of the server ... unless of course all your users are expected to connect from the same machine while asking for the same 2 byte file at the maximum speed the system allows them to. -- http://mail.python.org/mailman/listinfo/python-list
Re: Looking for a high performance web server written in Python, and supports CGI/FastCGI
Jack wrote: > I wrote the last posting at late late night and I didn't know what I was > typing at that time ;-p > > I didn't mean the test with CherryPy was not concurrent > connections, or the test with lighttpd was all concurrent > connections. I actually tried both concurrent (-c in ab command line) > and non-concurrent (without -c in ab command line) and I tried > the threading and threadpooling in CherryPy. The result did not > vary much. > > This article http://www.cherrypy.org/wiki/CherryPySpeed says CherryPy > can process around 400-500 requests/second. It's set up is: > > Pentium M 1.6, 1G RAM, Windows XP2 laptop, test done with apache 2.0.41 > ab. > > I have a slightly better hardware set up: > > Pentium M 1.7MHz, 1.5G RAM on Windows XP2 laptop, test done with Apache > 2.2 ab > > However, I don't get even close. The best I get is around 140 > requests/second. I'm using the same test script as the CherryPy test > with slight modification just to make it run. As a matter of fact, > the Cygwin build of lighttpd only gets around 430 requests/second for > a 2-byte static file. I disabled firewall and antivirus on the box when > tests were done. Any idea about the huge difference? It would be very > interesting if some CherryPy (or python) users can post their performance > benchmarks. It would be good to know which version of CherryPy you are using. That wiki page is talking about the CP 2.0 branch; 2.1 and later are quite different. If you have a later version, try using cherrypy/test/benchmark.py Note also that you can use lighttpd as an HTTP server for CherryPy apps via FCGI/SCGI. Robert Brewer System Architect Amor Ministries [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list
Re: Looking for a high performance web server written in Python, and supports CGI/FastCGI
I wrote the last posting at late late night and I didn't know what I was typing at that time ;-p I didn't mean the test with CherryPy was not concurrent connections, or the test with lighttpd was all concurrent connections. I actually tried both concurrent (-c in ab command line) and non-concurrent (without -c in ab command line) and I tried the threading and threadpooling in CherryPy. The result did not vary much. This article http://www.cherrypy.org/wiki/CherryPySpeed says CherryPy can process around 400-500 requests/second. It's set up is: Pentium M 1.6, 1G RAM, Windows XP2 laptop, test done with apache 2.0.41 ab. I have a slightly better hardware set up: Pentium M 1.7MHz, 1.5G RAM on Windows XP2 laptop, test done with Apache 2.2 ab However, I don't get even close. The best I get is around 140 requests/second. I'm using the same test script as the CherryPy test with slight modification just to make it run. As a matter of fact, the Cygwin build of lighttpd only gets around 430 requests/second for a 2-byte static file. I disabled firewall and antivirus on the box when tests were done. Any idea about the huge difference? It would be very interesting if some CherryPy (or python) users can post their performance benchmarks. Jack "Jack" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] >I just did some testing between CherryPy's web server and lighttpd. > My test was very simple and I used ab.exe for this purpose. > CherryPy web server can serve about 140 simple request / second, while > lighttpd can handle around 400 concurrent requests. > >> You haven't really said much about your requirements though. Perhaps >> if you describe them in more detail (for example, what does "high >> performance" mean to you?) someone can make a more useful recommendation. >> >> Jean-Paul > > -- http://mail.python.org/mailman/listinfo/python-list
Re: Looking for a high performance web server written in Python, and supports CGI/FastCGI
On 7 Jul 2006 06:27:43 -0700, Gerard Flanagan <[EMAIL PROTECTED]> wrote: > > Tim Williams wrote: > > On 07/07/06, Jack <[EMAIL PROTECTED]> wrote: > > > I just did some testing between CherryPy's web server and lighttpd. > > > My test was very simple and I used ab.exe for this purpose. > > > CherryPy web server can serve about 140 simple request / second, while > > > lighttpd can handle around 400 concurrent requests. > > > > > > > You haven't really said much about your requirements though. Perhaps > > > > if you describe them in more detail (for example, what does "high > > > > performance" mean to you?) someone can make a more useful > > > > recommendation. > > > > > > > > Karrigell has an async server, in standalone mode it won't be as fast > > as lighttpd but its simpler to use and code in than cherrypy. > > However, it can also work behind lighttpd, so you might get a good > > mix of server speed and fast development time. > > > > http://www.karrigell.com > > > > Yes, agree about Karrigell's quick development time - an almost flat > learning curve if you've programmed for the web before, and none of the > arcana which you can run into elsewhere. > > "high performance"? - I'm using it to provide an intranet for a small > library with *three* networked computers - performance is impeccable! If you disable the Reverse-DNS lookups in one of the python (not Karrigell) web modules (I'll dig out a previous post somewhere about this), it speeds up karrigell tremendously, my apps aren't huge, but I have no problems with karrigell across the internet :) -- http://mail.python.org/mailman/listinfo/python-list
Re: Looking for a high performance web server written in Python, and supports CGI/FastCGI
Tim Williams wrote: > On 07/07/06, Jack <[EMAIL PROTECTED]> wrote: > > I just did some testing between CherryPy's web server and lighttpd. > > My test was very simple and I used ab.exe for this purpose. > > CherryPy web server can serve about 140 simple request / second, while > > lighttpd can handle around 400 concurrent requests. > > > > > You haven't really said much about your requirements though. Perhaps > > > if you describe them in more detail (for example, what does "high > > > performance" mean to you?) someone can make a more useful recommendation. > > > > > Karrigell has an async server, in standalone mode it won't be as fast > as lighttpd but its simpler to use and code in than cherrypy. > However, it can also work behind lighttpd, so you might get a good > mix of server speed and fast development time. > > http://www.karrigell.com > Yes, agree about Karrigell's quick development time - an almost flat learning curve if you've programmed for the web before, and none of the arcana which you can run into elsewhere. "high performance"? - I'm using it to provide an intranet for a small library with *three* networked computers - performance is impeccable! Gerard -- http://mail.python.org/mailman/listinfo/python-list
Re: Looking for a high performance web server written in Python, and supports CGI/FastCGI
On 07/07/06, Jack <[EMAIL PROTECTED]> wrote: > I just did some testing between CherryPy's web server and lighttpd. > My test was very simple and I used ab.exe for this purpose. > CherryPy web server can serve about 140 simple request / second, while > lighttpd can handle around 400 concurrent requests. > > > You haven't really said much about your requirements though. Perhaps > > if you describe them in more detail (for example, what does "high > > performance" mean to you?) someone can make a more useful recommendation. > > Karrigell has an async server, in standalone mode it won't be as fast as lighttpd but its simpler to use and code in than cherrypy. However, it can also work behind lighttpd, so you might get a good mix of server speed and fast development time. http://www.karrigell.com HTH :) -- http://mail.python.org/mailman/listinfo/python-list
Re: Looking for a high performance web server written in Python, and supports CGI/FastCGI
I just did some testing between CherryPy's web server and lighttpd. My test was very simple and I used ab.exe for this purpose. CherryPy web server can serve about 140 simple request / second, while lighttpd can handle around 400 concurrent requests. > You haven't really said much about your requirements though. Perhaps > if you describe them in more detail (for example, what does "high > performance" mean to you?) someone can make a more useful recommendation. > > Jean-Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Looking for a high performance web server written in Python, and supports CGI/FastCGI
>> I will have to install lighttpd or other web servers. > > do that. > > If all you need is a webserver there's little reason to have it in > python. Just use one of the several high quality open source webservers. If it is a Python web server, it would be nice to extend it by putting code right into the web server. The performance should be better than FastCGI because it removes the cost to send the requests/replies back and forth. -- http://mail.python.org/mailman/listinfo/python-list
Re: Looking for a high performance web server written in Python, and supports CGI/FastCGI
>> I will have to install lighttpd or other web servers. > > do that. > > If all you need is a webserver there's little reason to have it in > python. Just use one of the several high quality open source webservers. lighttpd is a great web server. I just didn't want to bother download the source, configure, make and make install, and have a bunch of files installed into the system (The binaries are mostly not the latest version.) If a server can be set up with a few python files, it sounds like a cleaner approach :) lighttpd does have an option to make a monilithic build that has everything in one file but somehow I couldn't make the scons-based build work. (Any tips?) -- http://mail.python.org/mailman/listinfo/python-list
Re: Looking for a high performance web server written in Python, and supports CGI/FastCGI
To be honest, I'm not sure what kind of performance I can get even with medusa or twisted. I assume it won't be as fast as servers written in C/C++ and use async sockets, but should be much better than multi-processed or multi-threaded servers in written in Python. Not sure if anyone else has an idea about medusa or twisted performance. Any chance that it's close to Apache? But even so, I guess I may still have to go with lighttpd for FastCGI/ CGI/SCGI support. > You haven't really said much about your requirements though. Perhaps > if you describe them in more detail (for example, what does "high > performance" mean to you?) someone can make a more useful recommendation. > > Jean-Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: Looking for a high performance web server written in Python, and supports CGI/FastCGI
Jack wrote: > I will have to install lighttpd or other web servers. do that. If all you need is a webserver there's little reason to have it in python. Just use one of the several high quality open source webservers. -- http://mail.python.org/mailman/listinfo/python-list
Re: Looking for a high performance web server written in Python, and supports CGI/FastCGI
On Thu, 6 Jul 2006 09:36:25 -0700, Jack <[EMAIL PROTECTED]> wrote: >Basically I am trying to find a high performance web server. Since >Python is installed on all of the servers, It'll be great if the web >server is written in Python as well. Otherwise, I will have to install >lighttpd or other web servers. > >Then the largest issue with Python-based web servers is performance. >That's why I start to look into medusa or twisted-based servers. Twisted >seems too big and complicated for what I really want to do and the >original medusa web server only has very basic functionality. Even though it may seem that way, it really isn't. Keep in mind that since you're only looking for a web server, 90% of Twisted won't even come into play for you. If you want, you can even install *only* the webserver (of course, unless you're on an embedded platform where disk space is at a premium there's not really much point). A bigger problem, I reckon, is that twisted.web doesn't support FastCGI and twisted.web2 is still a moving target. You haven't really said much about your requirements though. Perhaps if you describe them in more detail (for example, what does "high performance" mean to you?) someone can make a more useful recommendation. Jean-Paul -- http://mail.python.org/mailman/listinfo/python-list