首页 » Linux »

[备忘]lnmp2018年3月29日优化笔记

最近老是觉得有个网站的云服务器负载高,一直没有找到原因

今天突然想起php-fpm进程创建的问题上

测试了一下,有明显提升效果
重点:
原php-fpm.conf中的设置
pm = dynamic
服务器的php-fpm配置中 进程设置为动态调节,需要创建新的进程再行创建
对于一般小型网站和个人博客来说,这没有问题,因为并发低,访客少
由于创建php-fpm的时候需要调用系统资源,并且会与mysql建立新的连接
一旦访客数量较多 并发多的时候,这个创建过程就会消耗大量的资源,对于mysql数据库来说也是一个负担

所以把pm = dynamic修改为了静态模式pm = static,并重新根据并发和内存冗余,设定了pm.max_children值
注意:每个pm.max_children需要消耗30M左右的内存,
不要设置太高,否则撑爆内存,得给内存预留部分冗余,避免其他服务没有足够内存而挂起

附上此次修改的配置中关键配置的说明:

pm = static
#php-fpm进程启动模式,pm可以设置为static和dynamic和ondemand
#如果选择static,则进程数就数固定的,由pm.max_children指定固定的子进程数。

#如果选择dynamic,则进程数是动态变化的,由以下参数决定:
pm.max_children = 60 #子进程最大数

pm.max_requests = 2000
#设置每个子进程重生之前服务的请求数. 对于可能存在内存泄漏的第三方模块来说是非常有用的. 如果设置为 '0' 则一直接受请求. 等同于 PHP_FCGI_MAX_REQUESTS 环境变量. 默认值: 0.

访客并发和绝对数量较低的情况下,不容易发现这问题,

本文标签:

相关文章推荐

转载请保留,转载自:老牛博客
原文地址 http://xiaohost.com/2494.html

发表评论