[备忘]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.
#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.
访客并发和绝对数量较低的情况下,不容易发现这问题,
本文标签:php-fpm.conf php-fpm.conf wordpress php-fpm.conf优化 php-fpm.conf设置 一个php-fpm消耗多少内存
相关文章推荐
- Centos-How to configure multiple IPs for a single network card ?
- linux tcp_tw_reuse/tcp_tw_recycle/tcp_syncookies 要不要开启?怎么设置?
- Centos 6.9 增加PHP对rar格式文档的压缩解压支持
- 怎么解决服务器之间配置ssh免密码登录报错WARNING: UNPROTECTED PRIVATE KEY FILE!的
- 将web网站服务器的Mysql5.5数据库更换为了Mariadb10.1.23,Mariadb配置文件说明
转载请保留,转载自:老牛博客
原文地址
http://xiaohost.com/2494.html