Nginx php-fpm livrando-se do erro 502 no site de alto tráfego

2

Atualmente, tenho um servidor com as seguintes especificações:

32 core
128gb RAM
1TB SSD hardisk
5Gbps network uplink

a configuração atual é nginx + php-fpm sem qualquer configuração de balanceamento de carga

nginx.conf

fastcgi_connect_timeout 9000;
fastcgi_send_timeout 9000;
fastcgi_read_timeout 9000;
fastcgi_buffer_size 256k;
fastcgi_buffers 256 16k;

fastcgi_busy_buffers_size 512k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;


    location ~ [^/]\.php(/|$)
    {
        try_files $uri =404;
        fastcgi_pass  unix:/tmp/php-cgi-56.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
        include pathinfo.conf;
    }

php-fpm.conf

[www]
listen = /tmp/php-cgi-56.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = static
pm.status_path = /phpfpm_56_status
pm.max_children = 2000
pm.start_servers = 40
pm.min_spare_servers = 40
pm.max_spare_servers = 300
request_terminate_timeout = 9000
request_slowlog_timeout = 0s
slowlog = var/log/slow.log

não importa o quanto eu altere a configuração, eu ainda recebo 502 erros com php-fpm, o uso de memória RAM no servidor é de 12-15GB no máximo, nós temos muita RAM, mas o uso da CPU para php-fpm é alto. Se você tem alguma idéia com a configuração, por favor sugira ou comente.

Caso contrário, estou pensando em configurar o balanceamento de carga, como abaixo, pode precisar da sua ideia:

1) Usando o HaProxy

2)UsandooNginxeváriosservidorescomoopooldoPHP-FPM:

3) Use o servidor atual com vários pools php-fpm

upstream php {
    server 127.0.0.1:9001       max_fails=3 fail_timeout=30s;
    server 127.0.0.1:9002     max_fails=3 fail_timeout=30s;
    server 127.0.0.1:9003     max_fails=3 fail_timeout=30s;
}

qual você acha mais adequado? Eu só preciso me livrar do problema 502.

    
por Teddybugs 02.10.2017 / 06:03

0 respostas