我在Tornado应用程序中使用了第三方API,似乎在消除了其他一些低效率之后,我仍然遇到每个请求300-600ms的响应时间。我最好的猜测是,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的网络堆栈,以确定我的请求的哪些部分正在变慢?
答案 0 :(得分:1)
调试此类内容的最佳机会是netcat
和wireshark
,或者如果您可以找到可以管理您的Web流程以进行某些监控的内容。类似于django-debug-toolbar