最后更新时间为 2021年1月25日
我的配置是:1G单核CPU,1G内存,带宽100m(max≈12mb/s),Ubuntu17.04,Nginx+php-fpm,MySQL,WordPress 4.8.2(前天刚更新的)。
事情是这样的:昨天傍晚七点的时候瞬时访问量激增,峰值估计是同时在线100人左右,然后服务器突然无法连接(估计是死机了,https与ssh都连不上),之后十分钟仍未恢复遂强行重启,启动后MySQL出现故障,目前仍未排除问题。(高峰时故障对我也造成了很大的流量损失)
这是建站后我第一次面对这么高的访问量(单日一万以上PV),目前仍未查明服务器炸锅的原因,会是因为承载力(不知道专业名词是这个吗)不够吗?
一般WordPress的瞬时承载量如何,我的配置能有一个粗略的估算吗?仅仅作为一个个人博客,我是否有必要扩容?
解答
如果用好了缓存,瞬时承载量可上千。本人的博客峰值PV 3万,峰值IP 1.6万,alexa排名大概15-18万之间,运行在阿里云1核2G 峰值100m带宽的t5突发性能实例上,平均cpu使用率在10%以下,内存占用基本不超过1G,非常平稳。主要对博客和服务器做了如下优化:
1. 运行最新版的操作系统及软件。最新版的操作系统、软件不仅修复安全bug,还能有明显的性能提升。托管本站vps的操作系统是运行5.5内核的CentOS 7(刚买时CentOS 8还未发布,不然肯定上8),启用BBR模块、从remi源安装php 7.4最新版、redis 5最新版、从官方源安装的最新版Nginx、MariaDB;
2. php启用opcache模块,session存储到redis,nginx和php-fpm通过unix socket通信;
3. Nginx启用gzip压缩,静态资源缓存时间设置为最大;
4. WordPress安装缓存插件,例如W3 Total Cache、 WordPress Super Cache、Autoptimize等,本站用的Autoptimize,可以删除谷歌字体;