php-fpm优化

PHP-FPM是一个PHPFastCGI管理器,是只用于PHP的。
php-fpm 已经在 Linux、MacOSX、Solaris 和 FreeBSD 上测试通过。
确信 libxml2(在某些系统上叫做libxml2-devel)已经安装。

参数调优
进程数
  • 首先,我们关注一个前提设置: pm = static/dynamic,标识fpm子进程的产生模式

  • static(静态) :表示在fpm运行时直接fork出pm.max_chindren个worker进程

  • dynamic(动态):表示运行时fork出start_servers个进程,随着负载的情况,动态的调整,最多不超过max_children个进程。

一般推荐用static,优点是不用动态的判断负载情况,提升性能,缺点是多占用些系统内存资源。

static:worker进程pm.max_children = 300这个值原则上是越大越好
dynamic:worker进程pm.start_servers = 20 
dynamic:空闲状态pm.min_spare_servers = 5最小php-fpm进程数量
dynamic:空闲状态pm.max_spare_servers = 35最大php-fpm进程数量

max_children

  • 这个值原则上是越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少。

  • 设置”max_children”也需要根据服务器的性能进行设定

  • 一般来说一台服务器正常情况下每一个php-cgi所耗费的内存在20M左右

  • 假设“max_children”设置成100个,20M*100=2000M

  • 也就是说在峰值的时候所有PHP-CGI所耗内存在2000M以内。

  • 假设“max_children”设置的较小,比如5-10个,那么php-cgi就会“很累”,处理速度也很慢,等待的时间也较长。

  • 如果长时间没有得到处理的请求就会出现504 Gateway Time-out这个错误,而正在处理的很累的那几个php-cgi如果遇到了问题就会出现502 Bad gateway这个错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值