Recentemente, começamos o teste de carga de nosso aplicativo e notamos que ele ficou sem descritores de arquivo após cerca de 24 horas.
Estamos executando o RHEL 5 em um Dell 1955:
CPU: 2 x Dual Core 2.66GHz 4MB 5150 / 1333FSB RAM: 8GB RAM HDD: 2 x 160GB 2.5" discos rígidos SATA
Verifiquei o limite do descritor de arquivo e ele foi definido em 1024. Considerando que nosso aplicativo poderia ter cerca de 1.000 conexões de entrada, bem como 1.000 conexões de saída, isso parece bastante baixo. Sem mencionar os arquivos reais que precisam ser abertos.
Meu primeiro pensamento foi apenas aumentar o parâmetro ulimit -n em algumas ordens de magnitude e, em seguida, executar novamente o teste, mas eu queria saber as possíveis ramificações de definir essa variável muito alta.
Existem práticas recomendadas para definir isso além de descobrir quantos descritores de arquivo nosso software pode abrir teoricamente?