cherouvim Asked: 2017-03-25 04:03:53 +0800 CST2017-03-25 04:03:53 +0800 CST 2017-03-25 04:03:53 +0800 CST HAProxy Stats 页面后端队列值说明 772 如下图所示,我有一个带有 2 个服务器的 HAProxy 后端,这些服务器具有以下设置: maxconn 64 check inter 5s fastinter 2s downinter 2s 我的问题是关于Queue专栏的。如何指定后端队列的限制?为什么Backend底部的,分别显示11whenapi-1和api-2show 22and的值18?在我的情况下,这个数字11代表什么? haproxy 1 个回答 Voted Best Answer Mo3m3n 2017-06-28T06:23:54+08:002017-06-28T06:23:54+08:00 问题 1/ 正如 Willy 在此线程中提到的:https : //www.mail-archive.com/[email protected]/msg21521.html,您不能为后端指定 maxqueue,但可以为后端的服务器指定. 首先让我们明确一下队列:有一个后端队列和一个服务器队列。具有服务器持久性的连接进入服务器(有问题的)队列,其他连接进入后端队列。 当达到服务器最大队列时,HAProxy 文档http://cbonte.github.io/haproxy-dconv/1.7/configuration.html#5.2-maxqueue说 如果达到此限制,下一个请求将被重新分派到其他服务器,而不是无限期地等待服务。这将破坏持久性,但可能允许人们在他们尝试连接的服务器死亡时快速重新登录。 所以在这种情况下,下一个请求不会丢失。 如果达到假定的后端 maxqueue 并且客户端可能会收到错误作为回报,情况会有所不同。因此,为避免这种情况,没有后端 maxqueue 实现,但您仍然可以使用后端中的规则实现相同的行为,如下所示: backend foo tcp-request content reject if { queue ge 100 } 问题 2/ Max Queue 列告诉自上次 HAProxy 重新加载以来达到的最大队列大小。 所以 11 是您的后端达到的最大队列大小。这与服务器的最大队列大小不同,因为如前所述,后端队列和服务器队列是分开的。
问题 1/
正如 Willy 在此线程中提到的:https : //www.mail-archive.com/[email protected]/msg21521.html,您不能为后端指定 maxqueue,但可以为后端的服务器指定.
首先让我们明确一下队列:有一个后端队列和一个服务器队列。具有服务器持久性的连接进入服务器(有问题的)队列,其他连接进入后端队列。
当达到服务器最大队列时,HAProxy 文档http://cbonte.github.io/haproxy-dconv/1.7/configuration.html#5.2-maxqueue说
所以在这种情况下,下一个请求不会丢失。
如果达到假定的后端 maxqueue 并且客户端可能会收到错误作为回报,情况会有所不同。因此,为避免这种情况,没有后端 maxqueue 实现,但您仍然可以使用后端中的规则实现相同的行为,如下所示:
问题 2/
Max Queue 列告诉自上次 HAProxy 重新加载以来达到的最大队列大小。
所以 11 是您的后端达到的最大队列大小。这与服务器的最大队列大小不同,因为如前所述,后端队列和服务器队列是分开的。