0

我在我的 Tornado 应用程序中大量使用了 3rd 方 API,似乎在消除了其他一些低效率之后,我仍然遇到每个请求 300-600 毫秒的响应时间。我最好的猜测是 Tornado 每次都在重新协商 SSL 连接,但我不确定如何深入了解请求缓慢的来源。

我正在寻找可以按时间分解连接的每个阶段的东西,例如“收到的证书:100 毫秒”和“服务器响应:200 毫秒”

我通常对同一服务器执行多个异步请求,如下所示:

liked_response, following_response, subscribed_response = \
yield [gen.Task(http_client.fetch, like_request),
       gen.Task(http_client.fetch, following_request),
       gen.Task(http_client.fetch, subscribed_request)]

如何更深入地了解 Tornado 的网络堆栈,以确定我的请求的哪些部分运行缓慢?

4

1 回答 1

1

调试这样的事情的最佳机会是netcatwireshark或者如果你能找到一些东西,你可以将你的 web 进程通过管道进行一些监控。类似的东西django-debug-toolbar

于 2013-02-05T00:00:10.670 回答