NGINX + PHP O FPM connect () falhou (110: Tempo limite da conexão esgotado) ao conectar-se ao upstream

1

Estamos executando um site bastante grande usando nginx e PHP-FPM e estamos recebendo muitos erros, pois a carga do site é bastante alta. Estamos recebendo "connect () falhou (110: conexão expirou) ao conectar-se a upstream" ... upstream: "fastcgi: //127.0.0.1: 9000"

Aqui está o meu arquivo de configuração para o PHP-FPM.

PHP-FPM:

[www]
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
user = nginx
group = nginx
pm = dynamic
pm.max_children = 100
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 100

slowlog = /var/log/php-fpm/www-slow.log

php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on

Qual é a configuração / número recomendado de servidores / filhos para um site de alto tráfego?

Nós tentamos usar o Unix Sockets em vez do TCP e não obtivemos melhorias visíveis. Agora os erros são:     connect () para unix: /var/run/php-fcgi.sock falhou (11: Recurso temporariamente indisponível) durante a conexão com upstream ... upstream: "fastcgi: // unix: /var/run/php-fcgi.sock : "...

Obrigado,

Leonard

    
por Leonard Teo 23.02.2012 / 22:35

1 resposta

1

Use soquetes unix, em vez de TCP / IP. Então, você faria algo como:

listen = /tmp/php.sock

Se você não quiser fazer algo assim, verifique suas regras de firewall. Se você estiver usando qualquer tipo de regra conntrack, você poderia facilmente estar preenchendo a tabela para isso. Veja se há alguma mensagem de log em dmesg sobre isso. Você não deveria estar usando o conntrack em um servidor de alta carga, então desabilitar isso provavelmente é uma boa idéia.

Além disso, verifique suas configurações de ulimit . Se o número de arquivos abertos estiver definido muito baixo, você poderá encontrar problemas.

    
por 24.02.2012 / 01:31