目前我有以下规格的服务器:
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的问题。