On 06/06/2012 10:10 PM, Mike Orr wrote:
SQLAlchemy's overhead is not necessarily significant, and there are ways to use SQLAlchemy to minimze the overhead. That comes at the expense of convenience, of course, so you'd want to do a side-by-side comparison of a typical task to see how much the overhead matters.
You are of course correct. What I meant really was the ORM in SQLAlchemy, not SQLA as a whole. I use it exclusively, perfect for rapid prototyping and in majority of cases more than suitable, and intend to push certain database logic down to the DB level for performance.
In terms of Python WSGI applications, there are two separate overheads: the WSGI server, and the framework/application. The CherryPy server is considered the most robust at high loads, compared to other multhithreaded Python servers. You can use it with Pyramid, just set the "[server:main]" section in the INI file. Asynchronous servers may have higher performance than mulththreaded, but the difficulty of making an application asynchronous-safe may outweigh the advantages. You can also use a module like mod_wsgi to avoid the overhead of a separate WSGI HTTP server.
I tend to refer to this other synthetic benchmark. I'm using uwsgi and in my case have clearly seen its superiority to Apache/mod_wsgi. I have no experience with CherryPy.
http://nichol.as/benchmark-of-python-web-servers -- .oO V Oo. -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
