我使用maxconn = 2000
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
答案 0 :(得分:0)
这取决于打开的文件描述符限制(硬和软),您可以通过ulimit -Hn
和ulimit -Sn
来检查。
它是自动计算的,但它取决于您运行haproxy的用户,如果您使用root
运行haproxy,那么即使计算的值大于硬限制,您也可以在不发出警告的情况下设置该值。
但如果你以普通用户身份运行,那么最大值是硬限制,如果计算值大于该值,则会收到警告。