Nginx's Há muitos arquivos abertos, a definição de worker_rlimit_nofile é suficiente?

2

Configurar o valor correto de worker_rlimit_nofile em nginx.conf resolve o problema de Too many open files no nginx?

Ou ainda preciso atualizar o sysctl.conf e o limits.conf ?

    
por Ryan 22.01.2013 / 15:46

2 respostas

4

No Linux, você pode ver se essa opção alterou os limites do processo executando:

cat /proc/<PID>/limits

Onde <PID> é o ID do processo de nginex. Teste em um ambiente de desenvolvimento.

Se essa opção não estiver alterando os limites ou se você tiver um limite rígido muito restritivo, será necessário alterar o nofile no arquivo /etc/security/limits.conf.

    
por 22.01.2013 / 16:03
0

Eu não acho que você precise modificar o limits.conf. O ponto de worker_rlimit_nofile é fornecer uma maneira rápida e suja de fazer isso via RLIMIT_NOFILE.

No entanto, existem limites de sistema rígidos definidos pelo sistema operacional que você pode precisar substituir usando sysctl.conf.

Na prática, normalmente eu defino meu fs.file-max em sysctl para cerca de 4X o rlimit dos meus apps. Nenhuma base para este outro do que eu nunca quero algo para falhar devido a atingir esse limite. E uma faixa de 2 a 4 vezes costuma ser alta o suficiente para ser acionada somente quando há um grande problema com os aplicativos.

    
por 22.01.2013 / 16:56