haproxy maxconn和cookie会话

我有haproxy负载均衡下的任何实例。 我正在使用haproxy cookies来使每个客户端连接到同一台服务器,整个会话。

现在的事情是,我想将haproxy中的maxconnvariables设置为我的服务器可以处理的极限,即1000。

但是,我想确保,如果达到这个限制,它只适用于新的连接,而不适用于已经login系统的人。 这是它的工作方式? 如果没有,我怎么能做到这一点?

服务器maxconn适用于到服务器的并发TCP连接,以避免服务器过载。 但是,多余的连接不会被拒绝,只要它释放另一个连接,它们就会排队并转发到服务器。 有两个队列,一个在后端,用于任何传入连接,另一个在服务器端,专门用于连接这个服务器(使用cookie请求)。 那么会发生什么呢?来自新访问者的连接在后台排队,并被任何服务器挑选出来,而来自已经看到的访问者的连接在服务器上排队,只被这个服务器挑选出来。

你似乎相信maxconn并发访问者,而它确实是并发连接。 只有100个并发TCP连接,您可以轻松拥有10000个并发访问者。 maxconn与Apache的MaxClients设置类似,应该设置得稍低于服务器的限制。

您还会观察到许多服务器在较低的maxconn值下执行得更好,您可能会通过降低值来诱惑以提高性能。 尽pipe如此,不要过多降低它,因为您希望能够覆盖服务器响应速度慢的情况(例如:等待数据库服务器)。