Nginx php-fpm在高stream量网站上摆脱502错误

目前我有以下规格的服务器:

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

目前的设置是nginx + php-fpm,没有任何负载均衡设置

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 

不pipe我怎么改变configuration,我仍然得到502错误与php-fpm,在服务器上的内存使用率是最大12-15GB,我们有足够的内存,但CPU的使用率为PHP-FPM是高。 如果您对configuration有任何想法,请提出build议或评论。

否则,我想像下面那样设置负载平衡,可能需要你的想法:

1)使用HaProxy

在这里输入图像说明

2)使用Nginx和多服务器作为PHP-FPM池:

在这里输入图像说明

3)使用多个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; } 

哪一个你认为更合适? 我只是需要摆脱502的问题。