Устанавливает правильное значение worker_rlimit_nofile
в nginx.conf достаточно решить проблему Too many open files
в nginx?
Или мне все еще нужно обновить sysctl.conf
и limits.conf
?
В Linux вы можете увидеть, изменил ли этот параметр ограничения процесса, запустив:
cat /proc/<PID>/limits
куда <PID>
- это идентификатор процесса nginex. Протестируйте в среде разработки.
Если этот параметр не изменяет лимиты или если у вас слишком строгий жесткий лимит, вам необходимо изменить nofile
в файле /etc/security/limits.conf.
Я не думаю, что вам нужно изменять limits.conf. Задача worker_rlimit_nofile - предоставить быстрый и грязный способ сделать это через RLIMIT_NOFILE.
Однако существуют жесткие системные ограничения, установленные ОС, которые вам может потребоваться изменить с помощью sysctl.conf.
На практике я обычно устанавливаю fs.file-max в sysctl примерно в 4 раза больше rlimit для моих приложений. Для этого нет никаких оснований, кроме того, что я никогда не хочу, чтобы что-то выходило из строя из-за превышения этого предела. А диапазон 2–4X обычно достаточно высок, чтобы срабатывать только при возникновении серьезных проблем с приложениями.