Como ajustar o nginx keepalive_timeout?

12

Estou usando o nginx junto com o php-fpm para servidor de um site ocupado com base em mysql. Atualmente estou usando keepalive_timeout = 5, no entanto, não tenho uma idéia clara sobre como ajustá-lo da melhor maneira. Então aprecie suas dicas.

alfish
fonte

Respostas:

10

O que você precisa ajustá-lo para fazer, ou melhor: você está tendo algum problema em definir como faz?

Não existe uma boa resposta única; se a maioria dos navegadores clientes puder carregar todos os recursos de uma página em 5 segundos, então 5 segundos serão adequados, mas isso dependerá completamente das necessidades do seu aplicativo - se o servidor nginx estivesse servindo como proxy reverso para o Exchange ActiveSync, por exemplo, você quer que ele acione até meia hora.

Shane Madden
fonte
Bem, estou tentando minimizar a carga do servidor (que é bastante alta nos horários de coleta) e acho que otimizar o keepalive_timeout pode contribuir parcialmente para esse objetivo. Além de que é apenas curiosidade saudável :)
alfish
1
Claro - então, "o mais baixo possível, sem dar início à maioria dos clientes antes de carregar a página" -, portanto, se as páginas carregarem em menos de um segundo para a maioria dos clientes, o tempo limite de 1 segundo será bom. Mas, a menos que o tempo limite seja muito, muito superior a 5 segundos, é improvável que seja uma das principais causas da carga do servidor.
Shane Madden
Esse é o ponto complicado. Como posso determinar o tempo de carregamento da página, dada a diferença de páginas tempo de carregamento (alguns são mais pesados do que outros), velocidades de conexão do visitante, etc.
alfish
Apenas estimar isso. É improvável que alguns segundos, de uma maneira ou de outra, façam qualquer diferença substancial no carregamento; portanto, fique à vontade para estimar alta - mas, novamente, uma nova compilação de uma conexão TCP (mesmo com um handshake SSL, se aplicável) para um cliente de carregamento lento não fará uma grande diferença na velocidade geral de carregamento.
Shane Madden
1
@ShaneMadden, esses 5 segundos não são a vida útil da conexão, mas apenas um tempo limite durante o qual o servidor aguarda outra solicitação até keepalive_requests. Portanto, não é importante quanto tempo leva para carregar a página inteira, apenas para o html até o navegador começar a buscar imagens / css ... BTW no máximo. tempo de conexão é mantida aberta é quasekeepalive_timeout*keepalive_requests
Marki555