【问题标题】:Inspecting HTTPS connections in Tornado (Python) to identify slowness检查 Tornado (Python) 中的 HTTPS 连接以识别速度慢
【发布时间】:2013-01-19 18:57:21
【问题描述】:

我在我的 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 的网络堆栈,以确定我的请求的哪些部分运行缓慢?

【问题讨论】:

  • 是时候破解netcat和wireshark了
  • 还有一个调试器
  • @JakobBowyer 谢谢,这实际上有助于提高知名度

标签: python sockets networking ssl tornado


【解决方案1】:

调试此类事情的最佳机会是netcatwireshark,或者如果您能找到可以将您的Web 进程导入以进行一些监控的东西。类似于django-debug-toolbar

【讨论】:

  • 谢谢,我使用 Wireshark 检查握手,发现这大约是我遇到的延迟的 50%。另外 50% 正在传输数据。
猜你喜欢
  • 1970-01-01
  • 2010-09-10
  • 2012-07-26
  • 2012-11-11
  • 1970-01-01
  • 2011-06-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多