- 论坛徽章:
- 1
|
在一次下单购物的场景压测中,nginx访问日志每出现一次502,相应的nginx错误日志就报如下内容:
2016/12/21 14:36:04 [error] 11681#11681: *1561066 recv() failed (104: Connection reset by peer) while reading response header from ups
tream, client: XXXXXXXX, server: XXXXXXXXXX, request: "POST /XXXX/XXXXX/XXXXXXXX HTTP/1.1", upstream: "fastcgi://unix:/d
ev/shm/php-fpm.sock:", host: "XXXXXXXXX"
php的错误日志跟着报
[23-Dec-2016 18:00:13] WARNING: [pool www] child 9387 exited on signal 7 (SIGBUS) after 2521.682074 seconds from start
经多方查询修改参数后再次压测报错依然如此:在4核 8G的ecs上php配置如下:
cat /etc/php-fpm.d/www.conf
[www]
listen=/dev/shm/php-fpm.sock
listen.allowed_clients = 127.0.0.1
listen.backlog = 1024
listen.owner = www
listen.group = www
user = www
group = www
pm = dynamic
pm.max_children = 300
pm.start_servers = 250
pm.min_spare_servers = 190
pm.max_spare_servers = 250
pm.max_requests = 4000
pm.status_path = /XXXXX
;request_terminate_timeout = 0s
;request_slowlog_timeout = 2002s
;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
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache
php.ini中一些相关的参数
max_execution_time = 60
max_input_time = 60
default_socket_timeout = 60
ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
ibase.timeformat = "%H:%M:%S"
mysql.connect_timeout = 60
session.cookie_lifetime = 0
session.gc_maxlifetime = 1440
nginx中一些相关的参数
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
来一枚大神给参考参考。多谢。
|
|