【发布时间】:2017-03-28 17:04:14
【问题描述】:
我对@987654321@ 的基本理解是,它们应该有助于扩展 API 服务器,尤其是在处理并发请求方面,每个请求都需要相当长的时间才能完成。然而,在我设置的一个简单的负载测试中,使用协程似乎比使用简单的阻塞函数调用更糟糕......
下面是两个屏幕截图,显示了使用负载测试并发级别 4(即 4 个蝗虫或“用户”)时的 API 响应时间。 /v1 端点使用简单的阻塞函数调用,/v2 端点使用tornado.gen.coroutine。我预计 GET /v2/info 的平均响应时间会大大低于 GET /v1/info 的平均响应时间,但实际上平均响应时间实际上更高。
我觉得我要么做错了什么,要么误解了一个基本概念。有人能告诉我为什么我的示例项目显示上面的数字吗?基于协程的 API 在并发负载下的性能比简单 API 差的地方在哪里?
示例tornado-loadtest 项目:https://github.com/martyychang/tornado-loadtest
【问题讨论】:
标签: python api tornado coroutine