部署在阿里云服务器上的 WordPress 博客异常修复实践

博客异常描述:WordPress 博客无法访问,也没有报错,表现为空白网页运行一会后显示无法显示,这种情况一天出现两次以上。

云服务器概况:阿里“99计划”促销服务器,配置为2核2G,3M固定带宽,40G ESSD Entry盘。

1.异常再现

近期,网站访问变慢,时长出现白屏,我猜测可能是内存爆满的原因。为验证猜想,在服务器后台安装了 CPU 使用率和内存使用率监测的应用,同时设置了 3 档内存告警阀值,分别是 80%、90%、 95%。不出意料,早上 5:33分 短信通知内存报警。

CPU 使用率和内存使用率
控制台中的CPU 使用率和内存使用率

至此,死机原因可以确定为“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 年了。其个人履历不管放在美国还是中国,在专业领域都可以称的上王炸。

友谊长存,谨记之。

《部署在阿里云服务器上的 WordPress 博客异常修复实践》上有4条评论

  1. 修改思路:
    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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注