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.

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.