centos Nginx -收到许多请求时服务器死机

rkttyhzu  于 2023-02-04  发布在  Nginx
关注(0)|答案(1)|浏览(171)

我们有一个大型的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
chy5wohz

chy5wohz1#

首先,确保您的FPM-CONFIG已被实际读取
您已将pm.max_children设置为200,并且memory_limit为15 GB
要有这样的配置,你最好有超过3000 GB的RAM(200 x 15 GB/15000 M)-你没有。
我的建议是-
减少最大内存使用到512 MB php.ini

memory_limit = 512M

fpm配置
将PM设置为按需

pm=ondemand
pm.max_children = 20
pm.start_servers = 4
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.process_idle_timeout = 10

进一步调试
将此添加到fpm-config

pm.status_path = /www-status

nginx conf -(您可能需要调整它以适合您的配置)

location ~ ^/(www-status)$ {
                fastcgi_pass 127.0.0.1:9000; # replace this or use the unix socket
                fastcgi_param SCRIPT_FILENAME 
                $document_root$fastcgi_script_name;
                fastcgi_param SCRIPT_NAME $fastcgi_script_name;
                fastcgi_index index.php;
                include fastcgi_params;
        }

进入site.com/www-status,你会看到fpm的使用信息,通过这个你可以知道你实际需要多少。
我也尝试使用Nginx缓存,这将是一个巨大的帮助您的服务器使用NGINX缓存-https://docs.nginx.com/nginx/admin-guide/content-cache/content-caching

相关问题