haproxy ulimit-n вычисление - PullRequest
0 голосов
/ 16 мая 2018

Я получил образ haproxy 1.8 vanilla alpine , работающий с 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-н Устанавливает максимальное количество файловых дескрипторов для процесса равным. От по умолчанию, он вычисляется автоматически, поэтому рекомендуется не использовать этот опция.

Не уверен, что это ошибка в haproxy или что-то не так.

Что вы думаете об этом?

edit: haproxy работает как root

1 Ответ

0 голосов
/ 16 мая 2018

Это зависит от предела дескриптора открытого файла (жесткого и мягкого), вы можете проверить это с помощью ulimit -Hn и ulimit -Sn.

Он вычисляется автоматически, но зависит от пользователя, который запускает haproxy. Если вы запускаете haproxy с использованием root, то даже если вычисленное значение превышает жесткое ограничение, вы можете установить это значение без предупреждения.

Но если вы работаете как обычный пользователь, то максимальное значение - это жесткий предел, если вычисленное значение больше этого, вы получите предупреждение.

...