查询php fpm的连接数,PHP最大连接数的设置及php-fpm高并发参数调整,

PHP最大连接数的设置及php-fpm高并发参数调整设置了PHP中的最大连接数,并调整了php-fpm的高并发参数,推荐:《PHP视频教程》

php-fpm.conf配置在服务器中找到(有些会在导入的www.conf中)

[全球]

PID=/usr/local/PHP/var/run/PHP-fpm . PID

error _ log=/usr/local/PHP/var/log/PHP-fpm . log

log_level=通知

[www]

listen=/tmp/php-cgi.sock

听着. backlog=-1

listen . allowed _ clients=127 . 0 . 0 . 1

listen.owner=www

listen.group=www

侦听. mode=0666

用户=www

group=www

pm=静态

pm.max_children=200

pm.start_servers=40

pm.min_spare_servers=10

pm.max_spare_servers=20

pm.max_requests=1000

request_terminate_timeout=100

request_slowlog_timeout=0

slowlog=var/log/slow.log –

pm.max_children=30

pm.max_requests=500

pm.start_servers=4

pm . max _ spare _ servers=30一. pm= static

首先说一下pm=动态的值。这是php。过程的数量是动态的,并且将根据访问的数量来回增加

在高负载的php环境中,我建议用固定数量的进程设置pm=static php-fpm

二. pm.max_children=???

当使用静态模式下的进程数根据pm.max_children来确定时,问题是,我的服务器应该设置多少个php-fpm?

理论上讲,php-fpm流程越多越好,相当于一个酒店有很多服务员为你服务。肯定会很爽,不用等了。

酪。实际上,php-fpm进程的数量会受到内存大小的限制。一般情况下,我们的进程数=机器内存(M)除以2再除以20(M);

当然,这不是绝对的。你要知道:

1.你能给php分配多少内存:你的服务器是一个简单的php服务器吗,还有其他消耗内存比较多的程序(mysql)吗?

2.你在每个php-fpm中有多少内存:你使用多少内存取决于你的php代码的质量和你处理的相关业务。当然,您可以使用命令来计算php-fpm的平均内存大小。

有人会问我设置不合适会怎么样?

当该值很小时,对nginx的请求将不会分配给php-fpm进程,导致502错误

9d029fcb66fb13b03304ca6483f511f8.png

值太大的时候,如果访问次数不多,访问次数多的话内存会被php占用。导致系统响应缓慢,cpu系统上升。系统会不断调整内存分配

严重的话会导致更高的杯等待,更高的内存不足,直接写磁盘,磁盘io线性增加。cpu利用率也开始满了。(如图所示)

7d0cd1ac39b4dcae415f4afa2e7d5980.png

三.request_terminate_timeout

计算方法如下:如果你的服务器性能足够好,宽带资源足够充足,PHP脚本没有循环,没有BUG,可以直接将“request_terminate_timeout”设置为0s。0s表示保持PHP-CGI无时间限制运行。

而且如果你做不到这一点,也就是说你的PHP-CGI可能有BUG,或者你的宽带不够或者你的PHP-CGI可能因为其他原因被伪造,那么建议你给“request_terminate_timeout”赋值,这个值可以根据你的服务器的性能来设置。

一般来说性能越好可以设置的越高,20分钟到30分钟。因为我的服务器PHP脚本需要长时间运行,有些可能需要10分钟以上,所以我设置了900秒,不会导致PHP-CGI死机,造成502 Bad网关的错误。

四.pm.max_requests

这个参数的含义是php-fpm工作进程在处理许多请求后自动重启。主要目的是控制请求处理过程中的内存溢出,使内存占用在可接受的范围内。更适合服务器端来承载项目比较乱,有些请求会占用内存

php-fpm的使用量比较大。在一定数量的请求后,它会结束进程并释放自己的内存。如果这个值太小,会导致所有的工作进程几乎同时达到这个值,进入需要重启的状态。当所有工作进程同时重启时,它将发生在

在几秒钟甚至更长的时间内,PHP将停止响应,直到所有进程重新启动。这是不可接受的,所以我通常将这个值设置为PHP启动后第一批工作进程达到这个值时,第一次进程重启和最后一次进程重启的时间差

超过1分钟,在压力比较大的晚上会延长到5分钟左右,对服务器进程重启的负面影响可以忽略。

添加以下命令来统计相关的php-fpm相关数据

1.检查php-fpm中的进程数量

PS-EF | grep’ php-fpm’ | grep ‘池’ | WC-L2,检查每个php-fpm占用的内存大小

PS-YLC PHP-FPM-排序: RSS 3。检查你机器上的FPM平均内存使用情况

PS-no-headers-o’ RSS,cmd ‘-c PHP-fpm | awk ‘ { sum=$ 1 } end { printf(‘ % d % s \ n ‘,sum/NR/1024,’ m’)}’ 4。查看单个PHP-fpm进程的消耗

Pmap $(pgrep php-fpm) |少重启php-fpm

1.停止命令

pkill php-fpm

2.重启或启动命令

php-fpm -R

或者

/alidata/server/php/sbin/PHP-fpm是设置PHP最大连接数和调整php-fpm高并发参数的细节。请多关注其他关于Lei.com PHP知识的相关文章!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值