php5-fpm pm ondemand e ainda problemas de memória

1

Depois de alternar pm de dynamic para ondemand , estou tendo menos problemas com o uso de memória em meu VPS de 1 GB, mas parece que, em algumas situações de alta carga, o servidor ainda fica preso. É um VMWare VPS com 1GB de RAM real e 4GB de 'RAM falsa' (SSD Cache).

Instalei o monitoramento do servidor newrelic e percebi que o problema ainda parece ser o php5-fpm. O servidor tem um carregamento de 150 (sistema de 2 cpu) e todos os pools php-fpm geram o máximo de 10 filhos, o que consome quase 2,5 GB de RAM, enquanto o uso médio de RAM no sistema é de 300 MB.

Se eu entendi ondemand corretamente, todas as configurações sobressalentes do servidor não são úteis e os childs gerados devem morrer após a conclusão da solicitação. Então, a única coisa que eu poderia fazer é baixar max_children ainda mais, mas como eu tenho 30+ pools eu acho que isso não me ajudaria de qualquer maneira.

Esta é a configuração padrão do meu pool:

[web2]

listen = 127.0.0.1:9011
listen.allowed_clients = 127.0.0.1

user = web2
group = client1

pm = ondemand
pm.max_children = 10
pm.process_idle_timeout = 10s;
pm.max_requests = 0

Alguém tem uma ideia de como otimizar essa configuração para que o servidor não seja interrompido em situações de alta carga?

****** EDIT ****** Eu tentei process.max = 32 , mas não tenho certeza se isso está mudando alguma coisa ao usar ondemand . O servidor entrou em colapso novamente hoje e não tenho idéia do problema. Tráfego totalmente moderado. Se eu apressar usando blitz.io em uma página tudo vai bem. Ele gera todos os 10 filhos e entrega as páginas o mais rápido que puder, ao mesmo tempo em que entrega um número de 500 a mais solicitações sem fazer o servidor explodir.

    
por s1lv3r 19.06.2013 / 13:51

1 resposta

0

Finalmente encontrei o problema.

Depois de ler tanto sobre o botnet do Wordpress, não sei por que não pensei nisso na primeira vez. Todos os pools são sites Wordpress e estão sendo atingidos aleatoriamente pelo botnet, tudo ao mesmo tempo, o que faz o servidor pirar.

Eu instalei agora fail2ban (tenho certeza que eu também fiz isso no servidor antigo ...) e também baixei max_children e parece que o servidor agora pode sobreviver a um ataque sem a necessidade de reinicializar.

    
por 20.06.2013 / 17:02

Tags