初始连接
您会发现初始连接包括协商SSL,因此,由于握手程度很高,这很好地表明您设置SSL的方式存在严重问题。
Google Chrome:了解资源计时
建立连接所花费的时间,包括TCP握手/重试和协商SSL。
SSL握手和TTFB
您有两个主要问题,完成SSL握手所花费的时间和等待TTFB的服务器(到第一个字节的时间)。
- TTFB:4079ms(应小于1000ms)
- SSL握手11830ms(应小于100ms)
还应该注意的是,在3G / 4G设备上进行测试时,由于电话信号的强度会发生变化,这可能会导致较长的首字节。这可能会导致间歇性的连接问题和延迟时间的变化。
步骤1:调查SSL问题
很明显,您遇到了严重的SSL问题,并且很可能是由于错误安装了OpenSSL或类似内容所致。首先使用SSL实验室测试您的SSL证书,然后更正所建议的任何问题或警告。
如果SSL仍然运行缓慢,则很可能是服务器过载或服务器故障。如果是较晚的,则您将需要尝试缩小故障原因。如果您在此问题上需要进一步的帮助,请使用服务器故障堆栈,一位用户报告说,创建新密钥可以解决他/她遇到的缓慢的SSL问题,该问题可能相关,也可能不相关。
负载平衡器可以帮助解决服务器资源问题。
步骤2:调查TTFB
一旦调查解决了SSL问题,并且TTFB仍然增加,则应通过确保服务器具有足够的资源来对其进行测试。
第一个字节时间受但不限于:
- 从用户到托管服务器的数据中心的距离可以增加TTFB
- 未缓存的GZIP可以增加TTFB
- 网络拥塞会增加TTFB
- 服务器拥塞会增加TTFB
有时增加CPU和RAM并非总是最佳选择。有时引入负载平衡器会更好,因为这不仅意味着您可以轻松并排运行多个服务器,而且实际上可以减轻缓存和SSL请求的负担。其他一些好处包括:
资源
- 缓存:设备可以存储不变的内容(例如图像),并直接将其提供给客户端,而无需向网络服务器发送流量。
- 压缩:通过在发送文件之前对其进行压缩来减少HTTP对象的通信量。
- SSL卸载:在Web服务器的CPU上需要处理SSL流量,因此负载平衡器可以执行此处理。
- 高可用性:万一发生故障,可以使用两台负载平衡设备。
降低TTFB的提示: