Estou configurando um servidor para um amigo. O servidor tem as seguintes especificações
8GB RAM
Quad Core processor
1 TB HDD
100 mbps port
No entanto, todos os arquivos php estão carregando muito lentamente. Fiz um teste de velocidade e o servidor leva 16 segundos para carregar o PRIMEIRO byte. Acredito fortemente que seja minha configuração php-fpm. O servidor usa apenas nginx e php, sem mysql etc.
Minha configuração atual do php-fpm
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 35
A carga do servidor e o uso de memória RAM estão perfeitamente bem
Por favor, sugira-me uma boa configuração para este servidor
ATUALIZAR:
Esta configuração funciona bem
pm.max_children = 20
pm.start_servers = 7
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 100
O problema com o tempo de carregamento do primeiro byte foi resolvido. No entanto, após 15-20 horas, o tempo de carregamento do primeiro byte aumenta gradualmente. Eu tenho que recarregar o php-fpm para obter um tempo de carregamento pequeno. Com base na minha configuração acima, o que modifiquei para que o tempo de carregamento do primeiro byte permaneça pequeno e eu não precise reiniciá-lo: P
ATUALIZAÇÃO 2: Antes de reiniciar o php-fpm Tempo para carregar o primeiro byte: 1,5 seg Tempo total de carregamento da página: 3,0 seg Tempo após reiniciar o php-fpm Tempo para carregar o primeiro byte: 0,3 seg Tempo total de carregamento da página: 1,5 seg
Isso mostra claramente que é uma questão de configuração do php-fpm, não de código lento
Responder1
Muitos trabalhadores! Use o APC para acelerar seu código e concordo plenamente com @Martin Fjordvald que código lento é simplesmente código lento. Você poderia, por exemplo, postar seu index.php e nós poderíamos ajudá-lo a encontrar o gargalo.
Você pode dar uma olhada na minha configuração pessoal emGitHub. O último teste de carga com instalação Drupal mostrou tempos de carregamento de cerca de 120 ms.
Crie um novo cronjob crontab -e
e coloque o seguinte no arquivo:
# Simple reload every hour.
@hourly /etc/init.d/php5-fpm reload
# And restart at midnight.
@daily /etc/init.d/php5-fpm restart
Responder2
Código lento é código lento e a configuração do seu servidor não pode fazer nada a respeito. O único caso que pode causar lentidão é se você tiver tanto tráfego que suas solicitações tenham que esperar que um processo fique disponível.
Como você está usando PHP-FPM, habilite o log lento e descubra por que seu código está lento.