Twisted has a nice asynchronous db api (<a href="http://twistedmatrix.com/documents/current/core/howto/rdbms.html" rel="nofollow">http://twistedmatrix.com/documents/current/core/howto/rdbms....</a>) that mitigates these concerns at the database level. More generally, I'd think the cleanest approach is to write async wrappers for your synchronous code, rather than forking an async server to service multiple requests. Otherwise you miss out on a lot of benefits of an async architecture, IMO.