WordPress架站用apache还是nginx?性能实测!

2020年4月2日

apache和nginx是两大web服务器。听说nginx轻量、速度快,本站原来用的是apache,要不要改成nginx呢?

类似《Should I use Nginx or Apache for my WordPress Install?》《今天给你们分析一下WEB环境该选Apache还是Nginx》的文章很多,笼统地陈述了apache和nginx的优缺点,但到底哪个更好?有人《把WordPress从nginx迁移到Apache》,也有《WordPress从Apache迁移到Nginx过程》,但我看的文章里都没有说迁移后性能的改变是多少。

本站在VPSServer托管,web服务器用的是apache,原先打开首页耗时1秒多,稍慢。那么我今天我实测一下nginx会带来多少性能改变!

测试方法:在VPSServer订购新主机,复制本站全部代码和数据库,安装apache和nginx。单独启动一个web服务器,用IP访问,没有启用HTTPS。测试打开首页HTML的waiting (TTFB)

老机是原来在使用的生产服务器,1、2号机的配置和老机完全相同。

测试

WordPress首页打开速度

单位为毫秒。

Ubuntu 19 + apache Ubuntu 19 + Nginx Ubuntu 19 + Nginx Ubuntu 19 + apache Ubuntu 16 + apache
2号机 1号机 http://209.182.218.133 老机 http://209.182.218.4
第一次测试 239 216 189 230 1910
第二次测试 903 836 285 318 1860
第三次测试 219 221 205 247 1800
平均 454 424 226 265 1857

vanilla php benchmark

https://github.com/vanilla-php/benchmark-php测试了老机和1号机、2号机。

老机(http://gqqnbig.me)和1号机的比较(http://209.182.218.133)
2号机的性能

WPPerformanceTester

2号机

老机当年的性能可见《博客搬到了vpsserver》。

总结

老机上没有运行什么重量级的软件或服务。只能认为Ubuntu 16和Ubuntu 19、PHP的小版本差异、MySQL的小版本差异或者两台虚拟主机实际硬件的差别导致了两台机器的性能差距为7倍!WPPerformanceTester显示数据库用时从10秒减少到0.49秒!假设我以前说的“如果改用AES_DECRYPT,运行时间只需要2秒”是正确的,2号机速度也是原来4倍!

在1、2号机上,我测试了apache和ngnix的性能,ngnix速度快了7%到17%。本站访问量不大,所以我就改用ngnix。而且ngnix也能设置固定链接。