Nginx服务器高并发异常与Woocommerce API性能优化咨询
大型WooCommerce站点+Flutter应用服务器性能优化问题
核心问题
- 两名用户同时打开应用时,数据同步加载而非并行,服务器同一时间仅处理单个请求
- 数据获取极慢,高速网络环境下加载单个商品耗时超5秒
- 用户使用应用时,网站加载时长明显增加,服务器疑似同一时间仅处理单个请求
服务器环境详情
- 架构:NGINX + MySQL + PHP-FPM
- PHP版本:7.4
- 操作系统:CentOS 8
- 数据库引擎:所有表采用InnoDB
已完成的优化操作
- 将
php.ini内存限制提升至15GB - 将
php.ini超时限制提升至3000秒 - 网站接入Cloudflare,安装W3 Total Cache缓存插件
- 将NGINX最大客户端数调整至150
现需优化服务器/MySQL配置以处理大量并发请求,当前相关配置如下:
PHP-FPM配置
pm.max_children = 200 pm.start_servers = 50 pm.min_spare_servers = 50 pm.max_spare_servers = 150 ;pm.max_requests = 500 ;php_admin_value[memory_limit] = 128M ;request_terminate_timeout = 0 ;rlimit_core = 0 ;rlimit_files = 1024 ;pm.process_idle_timeout = 10s; ;pm.max_requests = 500 pm = dynamic ; process.priority = -19
PHP.ini配置
;user_ini.cache_ttl = 300 implicit_flush = Off ;unserialize_max_depth = 4096 ;realpath_cache_size = 4096k ;realpath_cache_ttl = 120 zend.exception_ignore_args = On max_input_time = 6000 max_execution_time = 3000 ;max_input_nesting_level = 64 memory_limit = 15000M post_max_size = 800M ;mysqlnd.mempool_default_size = 16000 ;mysqlnd.net_read_timeout = 31536000 ;mysqlnd.net_cmd_buffer_size = 2048 soap.wsdl_cache_enabled=1 soap.wsdl_cache_ttl=86400
应用启动时PHP-FPM www-status状态
pool: www process manager: ondemand start time: 03/Feb/2023:11:59:36 +0000 start since: 25801 accepted conn: 14613 listen queue: 0 max listen queue: 0 listen queue len: 0 idle processes: 0 active processes: 20 total processes: 20 max active processes: 20 max children reached: 53 slow requests: 0 ************************ pid: 14270 state: Running start time: 03/Feb/2023:19:08:39 +0000 start since: 58 requests: 17 request duration: 563199 request method: GET request URI: /index.php?consumer_key=xxx&consumer_secret=yyy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14272 state: Running start time: 03/Feb/2023:19:09:03 +0000 start since: 34 requests: 12 request duration: 267198 request method: GET request URI: /index.php content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14273 state: Finishing start time: 03/Feb/2023:19:09:03 +0000 start since: 34 requests: 7 request duration: 5577206 request method: GET request URI: /index.php?consumer_key=xxx&consumer_secret=yyy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14274 state: Running start time: 03/Feb/2023:19:09:03 +0000 start since: 34 requests: 7 request duration: 2475191 request method: GET request URI: /index.php?consumer_key=xx&consumer_secret=yyy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14275 state: Running start time: 03/Feb/2023:19:09:03 +0000 start since: 34 requests: 8 request duration: 2731158 request method: GET request URI: /index.php?status=publish&category=189&orderby=popularity&per_page=5&consumer_key=xxx&consumer_secret=yy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14276 state: Running start time: 03/Feb/2023:19:09:04 +0000 start since: 33 requests: 8 request duration: 934026 request method: GET request URI: /index.php?consumer_key=xxx&consumer_secret=yyy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14277 state: Running start time: 03/Feb/2023:19:09:07 +0000 start since: 30 requests: 6 request duration: 3243188 request method: GET request URI: /index.php?consumer_key=xxx&consumer_secret=yyy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14278 state: Finishing start time: 03/Feb/2023:19:09:07 +0000 start since: 30 requests: 6 request duration: 5822217 request method: GET request URI: /index.php?consumer_key=xx&consumer_secret=yyy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14279 state: Running start time: 03/Feb/2023:19:09:07 +0000 start since: 30 requests: 7 request duration: 220 request method: GET request URI: /www-status?full content length: 0 user: - script: - last request cpu: 0.00 last request memory: 0 ************************ pid: 14280 state: Running start time: 03/Feb/2023:19:09:07 +0000 start since: 30 requests: 6 request duration: 5309224 request method: GET request URI: /index.php?status=publish&per_page=20&page=1&skip_cache=1&stock_status=instock&consumer_key=xxx&consumer_secret=yy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14281 state: Running start time: 03/Feb/2023:19:09:07 +0000 start since: 30 requests: 7 request duration: 2048190 request method: GET request URI: /index.php?consumer_key=xx&consumer_secret=yyy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14282 state: Running start time: 03/Feb/2023:19:09:07 +0000 start since: 30 requests: 6 request duration: 5482457 request method: GET request URI: /index.php?consumer_key=xx&consumer_secret=yy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14283 state: Running start time: 03/Feb/2023:19:09:07 +0000 start since: 30 requests: 6 request duration: 5262082 request method: GET request URI: /index.php?consumer_key=xx&consumer_secret=yy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14288 state: Running start time: 03/Feb/2023:19:09:07 +0000 start since: 30 requests: 7 request duration: 330128 request method: GET request URI: /index.php?per_page=100&page=1&per_page=10&consumer_key=xxx&consumer_secret=yy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14291 state: Running start time: 03/Feb/2023:19:09:07 +0000 start since: 30 requests: 6 request duration: 4372096 request method: GET request URI: /index.php?consumer_key=xxx&consumer_secret=yyy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14293 state: Running start time: 03/Feb/2023:19:09:10 +0000 start since: 27 requests: 6 request duration: 710233 request method: GET request URI: /index.php?consumer_key=xxx&consumer_secret=yyy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14296 state: Running start time: 03/Feb/2023:19:09:12 +0000 start since: 25 requests: 5 request duration: 4356106 request method: GET request URI: /index.php?consumer_key=xxx&consumer_secret=yyy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14297 state: Running start time: 03/Feb/2023:19:09:13 +0000 start since: 24 requests: 5 request duration: 3993473 request method: GET request URI: /index.php?consumer_key=xxx&consumer_secret=yyy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14299 state: Running start time: 03/Feb/2023:19:09:15 +0000 start since: 22 requests: 4 request duration: 5846079 request method: GET request URI: /index.php?status=publish&category=190&orderby=popularity&per_page=5&consumer_key=xxx&consumer_secret=yyy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0 ************************ pid: 14269 state: Running start time: 03/Feb/2023:19:08:37 +0000 start since: 60 requests: 15 request duration: 355854 request method: GET request URI: /index.php?consumer_key=xxx&consumer_secret=yyy content length: 0 user: - script: /var/www/mydomain.com/html/index.php last request cpu: 0.00 last request memory: 0
内容的提问来源于stack exchange,提问作者mohammad
相关产品推荐
相关产品推荐

