首页 > 解决方案 > 为什么此网站上的 SSL 协商间歇性地变慢或变快?

问题描述

作者注:当我最初问这个问题时,看起来问题是由于 SSL 协商造成的。但有人指出,问题可能只是限速连接或瞬态网络问题(或类似问题)。我测试了他们的理论,他们是对的。没有 SSL 也会出现同样的问题。我已经在这个问题中进一步更新以表明这一点。

我将问题标题留给将来遇到此问题的人的文档。虽然,目前,我还没有解决这个问题——正在解决这个问题并需要帮助。


原始问题(更新如下)

我正在使用webpagetest.org测试网页https://www.diannahouxcoaching.com/contact 。

我遇到了 SSL 协商的间歇性性能问题。

在一种情况下,协商需要 49 毫秒,但在另一种情况下,需要将近 3 秒!

快速 SSL 协商

超慢 SSL 协商

注意:忽略指示 301 问题的黄色突出显示行。那是另一个单独解决的问题。

您可以在第二张图片的初始请求中看到巨大的紫色线。但在第一张图片中这条线很小。2852 毫秒与 49 毫秒!

这种行为似乎是完全不可预测的,并且可能发生在任何页面和任何启动完整 SSL 协商的资源上。

我无法在 Internet 上找到任何有关解决此类性能问题的信息。

这是在 Amazon EC2 实例上运行的。我的服务器版本是:Apache/2.4.18 (Ubuntu)

我正在通过 Certbot 使用 Let's Encrypt。这可能与问题有关吗?我什至在webpagetest.org 上都找不到任何信息告诉我SSL 协商时间是否受到他们的测试软件认证查找的影响。我只能猜测这个问题完全是由我的服务器引起的,但我真的无法判断这是否属实。

任何人都可以提供任何见解吗?


更新 - 这不是 SSL 问题

我不得不在另一个论坛上发帖以获得任何帮助。有人建议这个问题看起来像一个连接速率限制问题或一个暂时的网络问题——暗示它可能与 SSL 无关。所以我在我的网站上禁用了 SSL 并测试了一个普通的 HTTP 连接。

瞧,同样的巨大延迟发生在随机资源上。它不是由 SSL 引起的。瀑布测试只是让它看起来那样。

这是一个未加密的 HTTP 测试示例: 缓慢的 HTTP 测试

我查看了我的 Apache 模块,看看是否安装了速率限制模块。我没有看到任何类似的东西。

如果是网络问题,我可能会通过从东海岸数据中心迁移到西海岸数据中心来进行测试。但是,如果问题可能出在服务器配置上,那么数据中心迁移似乎有点矫枉过正。我只是不确定如何证明它是服务器。

有没有人建议我如何证明它是服务器还是网络延迟?

标签: sslhttpsssl-certificatetls1.2lets-encrypt

解决方案


推荐阅读