我们有一个大型的Woocommerce网站托管在谷歌VM服务器(E2 4vCPU +16 GB RAM +100 GB SSD存储),最近我们创建了一个使用flutter和WordPress的移动应用程序-Woocommerce-API,但我们面临着三个问题
1.如果两个用户同时打开应用程序,数据加载同步而非并行,似乎服务器在同一时间只能处理单个请求
1.获取数据非常慢,加载产品可能需要5秒以上的高速互联网连接
1.如果用户使用应用程序的网站将需要更多的时间来加载,似乎服务器只处理一个单一的请求在同一时间
环境详细信息
- 服务器NGINX + MySQL + PHP-FPM
- PHP 7.4语言
- 操作系统:Centos 8
- 所有表格Engin-InnoDB
我们执行了以下操作
- 将PHP.ini内存限制增加到15GB
- 将PHP.ini超时限制增加到3000秒
- 与cloudflare链接的网站。-已安装的缓存插件W3总缓存
- 将NGINX MAX客户端增加到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初始化
;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
1条答案
按热度按时间chy5wohz1#
首先,确保您的FPM-CONFIG已被实际读取
您已将
pm.max_children
设置为200
,并且memory_limit
为15 GB要有这样的配置,你最好有超过3000 GB的RAM(200 x 15 GB/15000 M)-你没有。
我的建议是-
减少最大内存使用到
512
MB php.inifpm配置
将PM设置为按需
进一步调试
将此添加到fpm-config
nginx conf -(您可能需要调整它以适合您的配置)
进入site.com/www-status,你会看到fpm的使用信息,通过这个你可以知道你实际需要多少。
我也尝试使用Nginx缓存,这将是一个巨大的帮助您的服务器使用NGINX缓存-https://docs.nginx.com/nginx/admin-guide/content-cache/content-caching