http保持活着和ssl

时间:2014-05-28 13:22:16

标签: ssl https webserver keep-alive

一般建议在保持活动状态下使用低值,例如15秒左右,以便我们可以频繁清除空闲套接字并为更多客户服务 考虑我们有一个SSL连接,所以在15秒不活动的情况下,这个连接将被关闭,这不是无效的吗? ,因为如果客户端想要在一段时间后获取更多数据,则必须再次进行SSL协商

我想我在这里错过了一些观点?请建议https如何更好地使用keep-alive

2 个答案:

答案 0 :(得分:1)

取决于:

  • 如果服务器拥有大量资源,则使用长保持活动时间会更有效。
  • 如果服务器缺少资源,最好短时间,因为每个打开的连接都会绑定资源。
  • SSL连接建立有一些开销,因此需要更多资源(CPU时间)。
  • 但是这个开销可以通过会话恢复来减少,代价是另一个开销(缓存会话的内存)。

最后,最佳设置取决于服务器的功能,负载等。 如果你没有资源,最好有一个很长的保持活动时间,因为客户将与你的网站更快地互动。

答案 1 :(得分:0)

您可能需要考虑几个目标:

  1. 如果您正在针对延迟进行优化,那么您希望Keep Alive足够长以捕获连续请求,以最大限度地减少TCP和/或TLS握手的开销
  2. 如果您正在优化单个服务器扩展以服务大量用户的能力,那么您希望保持简短的Keep Alive
  3. 如果您正在优化初始页面加载,这会加载大量小资源,那么您希望有一个简短的Keep Alive
  4. 通常静态文件服务器(针对许多一起下载的小文件进行优化,如CSS,图像,JS,支持HTML页面)应该具有短但非零保持活动。

    文件下载服务器(针对大型下载进行了优化)不需要保持活动,因为下载时间优先于握手。您可能希望支持Range请求,以支持简历和并行下载。

    延迟敏感请求应该有很长的保持活动。

相关问题