php-fpm página de status: quais são os itens de “fila” neste relatório?

4

Então eu tenho uma instalação nginx + php-fpm. A página do relatório de status do php-fpm está ativada e recebo algo parecido (não me importo com configurações, é um servidor de teste sob testes de estresse):

pool:                 foobar
process manager:      dynamic
start time:           31/Jan/2012:08:18:45 +0000
start since:          23592
accepted conn:        3354
listen queue:         0
max listen queue:     0
listen queue len:     0
idle processes:       0
active processes:     10
total processes:      10
max active processes: 10
max children reached: 25

Não consigo encontrar indicações em qualquer lugar sobre quais são os indicadores listen queue: , max listen queue: e listen queue len . Alguém poderia explicar?

    
por regilero 31.01.2012 / 16:05

1 resposta

13

As conexões PHP-FPM são feitas por meio de um soquete (TCP ou baseado em arquivo). Como tal, o PHP-FPM deve ' escutar ' neste soquete, e então 'aceitar' conexões.

Como existe uma taxa finita na qual as conexões podem ser aceitas, é possível, sob alta carga, haver um atraso entre o momento em que uma conexão é iniciada e a hora em que é aceita. Conexões nesse estado são "enfileiradas".

listen queue len: Isso define o número máximo de conexões que serão enfileiradas. Quando esse limite for atingido, as conexões subsequentes serão recusadas ou ignoradas. Conforme as conexões são aceitas, o tamanho da fila será reduzido.

  • Esse valor é definido pela opção de configuração php-fpm por conjunto 'listen.backlog' (padrão: -1 = ilimitado).
  • Como os soquetes estão sendo usados, esse valor também é limitado pelo valor do sistema 'net.core.somaxconn' (padrão: 128 na maioria dos sistemas Linux).

Diante do exposto, é lógico que:

  • fila de escuta: é o número de conexões que foram iniciadas por ainda não aceitas
  • max listen queue: é o valor máximo que a fila de escuta alcançou enquanto o php-fpm foi executado.
por 31.01.2012 / 20:59

Tags