haproxy ulimit-n计算

时间:2018-05-15 21:03:53

标签: haproxy ulimit

我使用maxconn = 2000

运行了haproxy 1.8 vanilla alpine docker image
curl -s http://host:port/stats| grep maxsock
<b>maxsock = </b> 4017; <b>maxconn = </b> 2000; <b>maxpipes = </b> 0<br>

有时我会在日志中收到以下警告:

[WARNING] 0/0 (0) : [/usr/local/sbin/haproxy.main()] FD limit (4015) too low for maxconn=2000/maxsock=4016. Please raise 'ulimit-n' to 4016 or more to avoid any trouble.

我发现这很奇怪,因为我在haproxy doc中读到了这个:

  

的ulimit-n的   设置每个进程文件描述符的最大数量。通过   默认情况下,它会自动计算,因此建议不要使用它   选项。

不确定这是haproxy的错误还是我做错了。

你怎么看?

修改:haproxy正在以root

运行

1 个答案:

答案 0 :(得分:0)

这取决于打开的文件描述符限制(硬和软),您可以通过ulimit -Hnulimit -Sn来检查。

它是自动计算的,但它取决于您运行haproxy的用户,如果您使用root运行haproxy,那么即使计算的值大于硬限制,您也可以在不发出警告的情况下设置该值。

但如果你以普通用户身份运行,那么最大值是硬限制,如果计算值大于该值,则会收到警告。