我正在开发一个简单的应用程序(Flex的前端的后端),在大多数情况下会执行以下操作:
我的应用程序是否会受益于Tornado Web服务器是非阻塞的?我的意思是,在可扩展性和性能方面。这里的瓶颈是什么?
答案 0 :(得分:0)
哦,是的。它肯定会受益。
对于服务器忙于获取外部资源的持续时间,它可以继续提供其他呼叫,因为解释器未锁定。
在普通的网络服务器中,你使用像Gevent这样的东西来实现这一点。
此外,对于Tornado 2.1及以上版本, 可以合并Step1和Step2,如下:
def get(self):
http_client = AsyncHTTPClient() response1, response2 = yield [gen.Task(http_client.fetch, url1), gen.Task(http_client.fetch, url2)]