Https 何时在haproxy中使用httpclose或http服务器关闭

Https 何时在haproxy中使用httpclose或http服务器关闭,https,haproxy,keep-alive,Https,Haproxy,Keep Alive,我继承了一个由于网络延迟而导致性能问题的系统。我们使用的是CentOS 5.x和haproxy 1.5x 原因是由于在“初始连接”上花费的时间,每个API请求上都花费了大量时间 忽略其余的计时,因为这只是一个来自web的示例,从我的角度来看,其余的计时都很好,除了“初始连接”,其中所有API调用的计时都在150-250ms左右,用于“初始连接” 从haproxy中删除设置“option httpclose”后,性能显著提高,因为“初始连接”中的所有等待时间都消失了 看完一些文章后,我找到了这篇

我继承了一个由于网络延迟而导致性能问题的系统。我们使用的是CentOS 5.x和haproxy 1.5x

原因是由于在“初始连接”上花费的时间,每个API请求上都花费了大量时间

忽略其余的计时,因为这只是一个来自web的示例,从我的角度来看,其余的计时都很好,除了“初始连接”,其中所有API调用的计时都在150-250ms左右,用于“初始连接”

从haproxy中删除设置“option httpclose”后,性能显著提高,因为“初始连接”中的所有等待时间都消失了

看完一些文章后,我找到了这篇

建议删除:

option httpclose 
并替换为

timeout client  5000
option http-server-close
因此,我的问题是:

  • 何时使用选项httpclose
  • 使用haproxy的服务器负责所有Restful API调用,在删除配置“option httpclose”后,我还需要注意其他事项吗
  • 我应该使用“选项http服务器关闭”吗?有什么影响

您实际上应该使用

option http-keep-alive
您需要确保前端限制足够高(注意内存需求),以适应活动会话数量的增加,因为每次请求后连接将不再关闭,因此活动会话数量将增加

下一件事是确保您的后端支持对HAproxy保持活动状态,否则上述内容将毫无用处,您可以切换回http服务器关闭模式

根据请求的速率和并行客户端的数量,您需要调整
超时http keep alive
,以确保前端有足够的连接插槽,同时仍保持良好的连接重用百分比。好的开始值是几秒钟

httpclose
选项仅在您希望同时关闭与服务器和客户端的连接时使用,除非客户端断开,否则这种情况几乎不会发生。如果您的服务器无法很好地处理大量空闲请求,您可能希望使用
httpserver-close
选项,但所有现代web服务器都可以很好地处理这些请求

这也将有助于SSL部分,因为它代表了连接阶段的重要部分(考虑到它不需要在每个请求上都进行SSL握手),但您可能希望了解SSL会话缓存性能,如果您有多个HAproxy服务器处于活动状态,则需要RFC5077支持(需要v1.6+)