superman 发表于 2013-11-23 22:27:48

cpu一直高负荷

在论坛搜索了所有的cpu100%的例子 php-fpm跑满屏 也都按照修改php-fpmmy.cnf 但是都没有效果 希望军哥帮忙看看 谢谢

还请军哥帮忙看看 感激不尽

[ 本帖最后由 superman 于 2013-11-24 10:33 编辑 ]

licess 发表于 2013-11-24 09:38:45

这个只能看到在那个时间挂了,无法分析可能的原因
建议php-fpm.conf里加上request_terminate_timeout = 5s 后面的这个秒数可以自己定义,看看慢日志里有什么有用的信息

superman 发表于 2013-11-24 12:42:02

回复 2# 的帖子

WARNING: 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
WARNING: seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 0 idle, and 23 total children
WARNING: seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 16 children, there are 0 idle, and 24 total children
WARNING: seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 0 idle, and 25 total children
WARNING: seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 0 idle, and 26 total children
WARNING: seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 0 idle, and 27 total children
WARNING: seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 0 idle, and 28 total children



全都是这些提示 是否是起始服务器太少?这个值弄到多少算ok?怎么去计算这个值呢?

我现在的php-fpm 配置如下

listen = /tmp/php-cgi.sock
user = www
group = www
pm = dynamic
pm.max_children =200
pm.start_servers = 8
pm.min_spare_servers = 4
pm.max_spare_servers = 100
request_terminate_timeout = 5s
我的cpu是1G单核的,希望军哥给点建议,如何设置比较合理,现在的设置cpu经常跑到100%
而且同时优化数据库所有表常会出现502错误优化数据库单个表不会出现是否需要增加服务器内存? 谢谢

[ 本帖最后由 superman 于 2013-11-24 12:53 编辑 ]

puffbaby 发表于 2013-11-24 14:25:08

Mem是你的内存。假设为1G
pm.max_children = Mem/2/20   =》1024/2/20= 25

pm.start_servers = Mem/2/30   =》 1024/2/30=17

pm.min_spare_servers = Mem/2/40   =》 1024/2/40= 12

pm.max_spare_servers = Mem/2/20=》 1024/2/20=25

licess 发表于 2013-11-24 14:31:56

pm.min_spare_servers调到20看看,这个具体也不好说,根据使用情况适当调调
pm.start_servers的话官网建议是min_spare_servers + (max_spare_servers - min_spare_servers) / 2。


502一般都是php-fpm的问题,前面已经说了,开慢日志看看,一般那里执行的慢都会有记录

superman 发表于 2013-11-24 15:03:52

回复 4# 的帖子

谢谢,受教了 我测试看看

superman 发表于 2013-11-24 15:04:08

回复 5# 的帖子

感谢军哥我测试下

superman 发表于 2013-11-24 23:52:32

回复 5# 的帖子

军哥,今天测试了一下午 发现改成50还是不行的

pm.start_servers = 50
pm.min_spare_servers = 50
pm.max_spare_servers = 100

操作多个表的话 还是会报503 现在就是在后台更新下缓存都会报502 Bad Gateway
是不是我数据库数据太多了?还是我内存不够用需要加内存 ?
开启慢日志 里面报的错误都是入口文件执行时间过长 比如forum.phphome.php这些
希望军哥指点下

[ 本帖最后由 superman 于 2013-11-25 09:52 编辑 ]

licess 发表于 2013-11-25 10:07:45

看看内存占用swap如果基本没用或用的很少一般不需要升级

可以尝试按置顶帖的要求改改执行时间之类的参数试试,或排查一下插件
页: [1]
查看完整版本: cpu一直高负荷