Usando ab para avaliar o nginx: Conexão redefinida por peer (54)

Usando ab para avaliar o nginx: Conexão redefinida por peer (54)

Atualizei recentemente para o nginx 1.0.8 e tentei avaliar o desempenho de páginas dinâmicas em cache (inicialmente servidas por um aplicativo Django via proxy_pass) e de páginas estáticas. Em ambos os casos, o nginx não atenderá mais de 3 ou 4 solicitações (mesmo sem conexões simultâneas), então ab relata quase imediatamente:

apr_socket_recv: Connection reset by peer (54)

Somente ao escolher um máximo de 4 (ou menos) solicitações é que ab termina com sucesso.

Por que é que? Tentei aumentar o número de processos de trabalho (sem sorte), mas presumo que o nginx seja capaz de atender mais de 4 solicitações sem ajustar nenhuma variável de configuração. Será que eu acidentalmente acionei algum tipo de mecanismo de proteção do DOS?

Responder1

Eu estava enfrentando o mesmo problema ao abexecutar testes localmente em um aplicativo Node.JS simples. Uma solução alternativa que encontrei foi usar ab -ra opção que indica Don't exit on socket receive errors.

Mas a causa subjacente desse erro é o número limitado de soquetes abertos que você pode ter em sua caixa. Se você estiver usando OSx, poderá consultar esta resposta para definir números mais altos para esses limites:

Como aumentar os limites de soquetes no osx para testes de carga

informação relacionada