python - 检查 Tornado (Python) 中的 HTTPS 连接以识别缓慢

标签 python sockets networking ssl tornado

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

最佳答案

调试此类内容的最佳机会是 netcatwireshark,或者如果您能找到可以将 Web 进程导入其中以进行监控的内容。类似于 django-debug-toolbar

关于python - 检查 Tornado (Python) 中的 HTTPS 连接以识别缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14697536/

相关文章:

java - 什么可能导致套接字 ConnectException : Connection timed out?

sockets - 在处理其他数据时接收到数据时,套接字select()的预期行为?

python - 使用 Python 的 SSO 的 SPNEGO(kerberos token 生成/验证)

python - QTableWidget:插入行使应用程序崩溃 python

python - openCV 和 python : Morphological transformation outside boundaries

python - 使用 matplotlib 在图例上添加标签不起作用

c++ - 来自 UDP 连接的第一个缓冲区包含垃圾 - 后续连接正常

c# - 禁用 NIC 或阻止所有 tcp 连接

c++ - 使用数据包套接字在同一网络接口(interface)上发送和接收时无法接收数据包

networking - 网站无法 ping 通,但可以通过 Web 浏览器打开