PHP fpm优化【转】
在优化PHP的进程数的时候我们首先要了解我们服务器执行一个php使用的内存
1: 查询一个php占用的内存方法
pmap $(pgrep php-fpm | head -1)
我这里查询到的是
00002ba5d0bec000 4K rw-s- /dev/zero (deleted)
00002ba5d0bed000 4K rw-s- /dev/zero (deleted)
00007fffc568b000 80K rwx-- [ stack ]
00007fffc569f000 4K rw--- [ anon ]
00007fffc57fd000 12K r-x-- [ anon ]
ffffffffff600000 8192K ----- [ anon ]
total 309548K
大概30MB的样子
我本身机器内存是32G,那么理论上计算最大能承受php的并发是 32G/30MB=1092个
那么如果除去系统跟其他软件的使用内存大概算900个
2 :php-fpm的配置公式:pm.start_servers = min_spare_servers + (max_spare_servers - min_spare_servers) / 2
pm.max_children的计算方法,本机内存/30兆每个为最大的限定值再适当减小
相关参数解读:
pm.max_children:静态方式下开启的php-fpm进程数量。
pm.start_servers:动态方式下的起始php-fpm进程数量。
pm.min_spare_servers:动态方式下的最小php-fpm进程数量。
pm.max_spare_servers:动态方式下的最大php-fpm进程数量。
针对我的服务器情况调整这几个值为(当然我这边是集群所以我启动300个已经足够了):
pm.max_children = 300
pm.start_servers = 155
pm.min_spare_servers = 10
pm.max_spare_servers = 300
###################################################
(备注:如果不按这个公式计算做配置多多少少会出现写问题,比如
seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 0 idle, and 34 total children (这个很明显是要你调节进程数)
child 1616 exited with code 0 after 619688.718148 seconds from start (一下三个好像都是提示执行超时)
child 14636 exited on signal 15 (SIGTERM) after 269249.100189 seconds from star
request: "POST /test.php") execution timed out (198.776247 sec), terminating
等等类似的报错
如果是ngixn做的前端代理会出现当后端服务器出现类似问题就会连接失败提示没在线的主机等等情况
no live upstreams while connecting to upstream, client
)
####################################################
转自
PHP fpm优化 - 信不信由你 - 51CTO技术博客
http://312461613.blog.51cto.com/965442/1559672/
PHP fpm优化【转】的更多相关文章
- 对FPM 模块进行参数优化!
Nginx 的 PHP 解析功能实现如果是交由 FPM 处理的,为了提高 PHP 的处理速度,可对FPM 模块进行参数跳转.FPM 优化参数:pm 使用哪种方式启动 fpm 进程,可以说 static ...
- The server of Nginx(三)——Nginx企业级优化
相信看过我之前apache文章的朋友们,对服务优化也有了一个大概的了解,相比较而言,Nginx企业中应用的更多一些,因此今天也会详细阐述Nginx的优化,有人说,服务器不需要优化,开虚拟化,分分钟成倍 ...
- Nginx企业级优化
Nginx企业级优化 一.隐藏版本号信息 安装软件前修改,源码包中的版本信息 #切换到源码包目录[root@localhost ~]# cd /usr/src/nginx-1.15.9/[root@l ...
- PHP 优化之php -fpm 进程
一,php-fpm的启动参数 1 2 3 4 5 6 7 8 9 10 11 12 13 #测试php-fpm配置 /usr/local/php/sbin/php-fpm -t /usr/local/ ...
- PHP fpm配置和优化
pm.max_children = 1024 #最大子进程数 maximum number of child processes when pm is set to 'dynamic' or 'ond ...
- 实战Nginx与PHP(FastCGI)的安装、配置与优化
一.什么是 FastCGIFastCGI是一个可伸缩地.高速地在HTTP server和动态脚本语言间通信的接口.多数流行的HTTP server都支持FastCGI,包括Apache.Nginx和l ...
- [Linux主机] 优化你的php-fpm(php5.3+)让你的网站跑得更快
从php5.3以后php自带了php-fpm不是和php5.2一样以插件的方式存在了.这给我们带来一个好处502没有那么容易出现了坛子里用linux的绝大多数应该还是在用小军的lnmp的那个包,但是配 ...
- 深度优化LNMP
优化前准备工作 Centos准备及配置 准备安装包及软件:http://pan.baidu.com/s/1chHQF 下载解压到U盘即可安装http://pan.baidu.com/s/15TUWf ...
- PLSQL_性能优化系列01_Oracle Index索引
2014-06-01 Created By BaoXinjian
随机推荐
- Javaweb 第15天 web练习和分页技术
第15天 web练习和分页技术 复习day14内容: 学习新技术的思路? 分析功能的思路? 使用queryRunner操作数据库的步骤? ResultSetHandler接口常用实现类(三个重点)? ...
- js-字符串函数
js字符串函数 JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";v ...
- 一个ubuntu命令
curl 获取web curl www.baidu.com
- YII学习第二十三天,accessRules用法
访问控制过滤器(Access Control Filter)访问控制过滤器是检查当前用户是否能执行访问的controller action的初步授权模式. 这种授权模式基于用户名,客户IP地址和访问类 ...
- Android启动另一个APP时,注意disable与enable的问题
在写游戏sdk时候遇到了一个需要在sdk中通过scheme来启动支付宝的免密支付功能,所以需要在设备中通过包名检查一下支付宝是否存在. 此时遇到了一个问题,在三星设备中可以将app给处于disable ...
- Udemy - Angular 2 - The Complete Guide 笔记
1. install > npm install -g angular-cli 2. create app > ng new first-app 3. build app > cd ...
- Linux(power服务器)中kettle(2)
Hadoop集群硬件环境 4台机器 ip地址 172.16.1.131 172.16.1.132 172.16.1.133 172.16.1.134 每台内存16G 8核cpu 直接使用报错:
- hdu 2546 饭卡 (01背包)
Problem Description 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负) ...
- java抽象类的特点
抽象类 抽象类的特点: 1.抽象类的方法可以是抽象的,也可以是不抽象的. 2.抽象类的方法可以全是抽象的,也可以全是不抽象的. 3.有抽象方法的类必须是抽象类,或者是接口(但是接口的方法定义必须是pu ...
- AJAx 刷新页面
<html><head> <meta http-equiv="Content-Type" content="text/html; chars ...