博客异常描述:WordPress 博客无法访问,也没有报错,表现为空白网页运行一会后显示无法显示,这种情况一天出现两次以上。
云服务器概况:阿里“99计划”促销服务器,配置为2核2G,3M固定带宽,40G ESSD Entry盘。
1.异常再现
近期,网站访问变慢,时长出现白屏,我猜测可能是内存爆满的原因。为验证猜想,在服务器后台安装了 CPU 使用率和内存使用率监测的应用,同时设置了 3 档内存告警阀值,分别是 80%、90%、 95%。不出意料,早上 5:33分 短信通知内存报警。
至此,死机原因可以确定为“CPU 使用率和内存使用率”爆表。现在需要确定是什么原因导致服务器的“CPU 使用率和内存使用率”一天出现两次以上的宕机原因。通过重启后,使用 atop/top 命令实时监测进程数量、CPU 使用率和内存使用率,显示云盘性能 BPS 超过性能规格上限,见上限值为 106 MB/s 的多进程读操作。
经观察,发现是 php-fpm 进程占用了大量的内存。
2.异常修复实践
php-fpm 进程不能全部封杀,必须要有,为国服务器需要这个进程做数据上的交互和调用。针对前述发现的问题,针对 php-fpm 的配置文件做了以下几点调优:
- 限制与访问量相匹配的进程数量
- 设置最大子进程数量(pm.max_children)
- 指定启动时创建的子进程数量(pm.start_servers)
- 定义空闲状态下最少和最多的子进程数量(pm.min_spare_servers 和 pm.max_spare_servers)
调优后,观察云服务器两天,一切运行稳定,未再出现 WordPress 博客显示为空白网页无法显示的问题。
3.后注扩展
本文所述的 WordPress 博客异常修复实践是好友的站点,修复实践是我完成的。我们相识在上海金茂大厦,迄今已有 9 年了。其个人履历不管放在美国还是中国,在专业领域都可以称的上王炸。
友谊长存,谨记之。
修改思路:
pm.max_children = 100
pm.start_servers = 20
pm.max_requests = 1000
pm.min_spare_servers = 10
pm.max_spare_servers = 30
request_terminate_timeout = 400
强,专业的设置项。
你也遇到过这个问题呀!
遇到过啊,后来发现用 debian 系统比较稳定
我朋友可能选的是阿里云自己的改过的系统。
进入 SSH 的时候有提示,还有点印象。