php5-fpm tuning - por que tenho muitos processos php-fpm em espera?

1

Então eu fui recentemente do apache2 com o mod_php para o apache2 com o fastcgi e o php5-fpm. (ainda o mesmo módulo prefork).

Mas não tenho certeza se configuramos o php5-fpm corretamente.

Não rodamos um site, mas é mais um backend PHP para um jogo de smartphone. Isso significa que não há conteúdo estático, mas muito conteúdo dinâmico.

Normalmente, durante o dia, temos cerca de 5000 jogadores, mas nos horários de pico vai acima de 15000 e é aí que o nosso servidor fica lento. Essa foi a razão pela qual queríamos tentar a nossa sorte com o php5-fpm.

Agora com apenas cerca de 6000 jogadores, temos 50 processos php5-fpm e todos eles estão dormindo, mas 2! Eu chequei com o topo.

Esta é a configuração do php5-fpm:

[www]
user = www-data
group = www-data
listen = /var/run/php5-fpm.sock
listen.group = www-data

pm = dynamic
pm.max_children = 600
pm.start_servers = 20
pm.min_spare_servers = 1
pm.max_spare_servers = 100
pm.max_requests = 500

request_terminate_timeout = 10s
rlimit_files = 5000
chdir = /

Nosso servidor é um processador dual Hex Core Xeon 2620 - 2,00 GHz (Sandy Bridge) e 64 GB de RAM. Agora 64% é usado para o mysql. Se você tem alguma sugestão ou precisa de outros arquivos de configuração, me avise.

Qualquer sugestão sobre o arquivo de configuração é muito apreciada! Obrigado!

No futuro, quero ir com uma configuração apenas com nginx e php5-fpm. Você recomendaria isso?

    
por Petros Mastrantonas 02.04.2015 / 13:35

0 respostas