Tornado - 异步装饰器做什么以及为什么它能够更快地处理请求?

时间:2013-04-10 05:48:12

标签: python web tornado

以下代码向twitter发出http请求:

Version1(非异步):   http://pastebin.com/whiufBCF

版本2(异步):   http://pastebin.com/qYYw5CVu

使用SIEGE进行测试,非同步版本的事务率为3.20trans /秒,而异步版本为12.59trans /秒。异步版本只是在get方法上使用了异步装饰器,并将代码拆分为两部分但不会减少。那么为什么交易率会大大提高呢?

1 个答案:

答案 0 :(得分:1)

异步版本可以同时向“飞行中”发送多个Twitter请求,而同步版本必须等待每个请求在开始下一个请求之前完成。

因此,异步版本可以更有效地利用其时间,而不仅仅是在等待单个HTTP请求完成时无所事事。