我在我的 Tornado 应用程序中大量使用了第 3 方 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 的网络堆栈,以确定我的请求的哪些部分运行缓慢?
最佳答案
调试此类内容的最佳机会是 netcat
和 wireshark
,或者如果您能找到可以将 Web 进程导入其中以进行监控的内容。类似于 django-debug-toolbar
关于python - 检查 Tornado (Python) 中的 HTTPS 连接以识别缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14697536/