个人博客CMS性能横向压力测试对比
个人博客选CMS时,很多人只看功能不看性能。
本文用ab工具对WordPress、Typecho、Halo做横向压力测试,帮你判断哪套系统更适合自己的服务器配置。
测试前需要准备什么
压测会消耗CPU和带宽,不要在生产环境直接跑。
建议用一台闲置的1核2G或2核4G云服务器,安装好宝塔面板或LNMP环境。
需要准备:
- 已部署好的WordPress、Typecho、Halo各一套,尽量使用相同主题或默认主题
- 安装
ab工具:yum install httpd-tools -y或apt install apache2-utils -y - 关闭CDN和缓存插件,避免结果失真
- 记录服务器配置:
nproc查看CPU核心数,free -h查看内存
三套CMS压测步骤
测试WordPress首页
确保固定链接已设置,首页可正常访问。
执行:
ab -n 1000 -c 50 http://你的域名/
-n是总请求数,-c是并发数。
观察Requests per second和Time per request两项。
测试Typecho首页
Typecho轻量,同样命令替换域名即可:
ab -n 1000 -c 50 http://typecho域名/
如果返回非200状态码,先检查伪静态规则是否生效。
测试Halo首页
Halo基于Java,启动较慢但并发表现通常更稳。
命令相同,注意Halo默认端口可能是8090:
ab -n 1000 -c 50 http://你的IP:8090/
每套系统测3轮,取中间值,避免单次波动误判。
结果怎么看才不踩坑
重点看三个指标:
- Requests per second:每秒处理请求数,越高越好。1核2G下WordPress通常20-50,Typecho可达80-150,Halo约50-100。
- Failed requests:失败请求数,大于0说明有超时或连接被拒。
- Time per request:平均响应时间,超过500ms用户会感知卡顿。
避坑提醒:压测时如果ab报apr_socket_recv: Connection reset by peer,通常是Nginx或PHP-FPM连接数限制,需要调整worker_connections和pm.max_children。
另外,不要用-c 500以上并发测低配机器,容易触发云厂商DDoS防护导致IP被封。
优化与验证建议
如果WordPress得分低,先装WP Super Cache或Redis Object Cache再测一次;
Typecho可开启Memcached;
Halo建议调整JVM参数-Xmx512m。
优化后重新运行相同命令,对比Requests per second是否提升30%以上。
最终选型没有绝对答案:追求极致轻量选Typecho,生态丰富选WordPress,现代化架构选Halo。
压测数据只是参考,实际还要看主题复杂度、插件数量和服务器线路。
如果拿不准,先用本文方法在自己服务器上跑一遍,结果比任何评测都可靠。