Apache vs Nginx vs Caddy vs OpenLiteSpeed 性能实测对比

Web 服务器对比配图

本文教你如何在同一台 VPS 上,用同一份 WordPress 测试集横向对比 Apache、Nginx、Caddy、OpenLiteSpeed 四款主流 Web 服务器对比的真实性能。读完你会得到三件产出:可复现的压测脚本、四款服务器在 QPS/TTFB/内存上的差距数据,以及一套基于业务场景的选型建议。这套方法解决了”网上对比文章互相矛盾、不知道该信谁”的问题,帮助你根据自己的并发模型做决策。

一、为什么要做横向 Web 服务器对比

社区里关于 Apache 与 Nginx 的对比文章太多,但 90% 都没有给出测试环境,更没有把 Caddy 和 OpenLiteSpeed 纳入同一坐标系。结果就是:决策者要么凭印象选 Nginx,要么被某款商业版的营销内容带偏。横向 Web 服务器对比的目的不是分出胜负,而是把每款服务器的”擅长场景”标清楚,避免在错误的负载模型上踩坑。

测试环境统一为:腾讯云 4 核 8G、Ubuntu 22.04、PHP 8.3-FPM(FastCGI Process Manager,PHP 进程管理器,与 Web 服务器解耦的常用部署方式)、MySQL 8.0、WordPress 6.5 加 50 篇示例文章。压测工具用 wrk 跑 60 秒、200 并发,同时用 ab 验证短连接场景。所有服务器统一关闭日志写盘、统一 4 worker 进程,避免配置层差异。底层资源直接影响测试上限——这里的并发连接数(同时维持的活跃 TCP 连接数)与 CPU 上下文切换次数(每秒内核切换执行线程的次数)是两条最常被打到的天花板,机型挑选可参考 云服务器选购指南

二、Apache:兼容性王者,但默认配置偏慢

Apache 2.4 在多数发行版仍是默认 Web 服务器。它的优势是模块体系成熟、.htaccess 让租户独立配置非常方便,但默认 prefork MPM(多处理模块)每连接一进程的模型在高并发下会把内存吃光。

实测数据:默认 prefork + mod_php 在 200 并发下 QPS 约 380、内存峰值 3.2GB、TTFB(首字节时间,从请求到收到第一字节的延迟)P99 达到 920ms。切到 event MPM + PHP-FPM 后,QPS 提升到 720、内存降到 1.4GB、TTFB P99 收紧到 410ms。差距非常显著,意味着多数”Apache 慢”的结论其实是默认配置慢。

sudo a2dismod php8.3 mpm_prefork
sudo a2enmod  mpm_event proxy_fcgi setenvif
sudo systemctl restart apache2

Apache 适用场景:需要逐目录覆盖配置的虚拟主机平台、依赖 mod_rewrite 复杂规则的旧站点、需要 mod_security 做 WAF 的合规场景。如果你的业务以静态资源为主,建议跳过 Apache 直接看 Nginx 或 OpenLiteSpeed。

三、Nginx:高并发首选,配置门槛最低

Nginx 的事件驱动模型决定了它在高并发与反向代理场景的天然优势。实测同一份 WordPress,默认 4 worker、worker_connections 4096 配置下,QPS 达到 1180、内存峰值 480MB、TTFB P99 仅 210ms,明显领先 Apache event 模式。

Nginx 在静态资源场景的优势更夸张:用 ab -c 200 -n 50000 打一张 200KB 的 webp 图片,QPS 突破 18000,CPU 使用率却只到 60%。原因是 Nginx 的 sendfile + tcp_nopush 把内核态零拷贝用到了极致。反向代理与负载均衡的实战可继续阅读 Nginx 反向代理与负载均衡完整配置教程

worker_processes auto;
worker_rlimit_nofile 65535;
events {
    worker_connections 8192;
    use epoll;
    multi_accept on;
}

Nginx 适用场景:CDN 回源、API 网关、WordPress/Drupal 等 PHP 站点、需要灰度发布或精细化限流的业务。短板是动态配置能力弱,每次改 upstream 都要 reload,超大集群通常要再叠一层服务发现。

四、Caddy:自动 HTTPS 是真香,但极限性能略逊

Caddy 2 用 Go 编写,最大卖点是开箱自动签 Let’s Encrypt 证书、自动续期、HTTP/3 默认开启。对个人站长和小团队来说,省下的运维心智成本远超几个百分点的性能差距。

实测 WordPress 场景 QPS 约 940、内存峰值 620MB、TTFB P99 280ms,比 Nginx 落后约 20%。但 Caddyfile 的配置量只有 Nginx 的三分之一,对新手友好度断层第一。HTTP/3 启用后,对移动端用户的 TTFB 改善能达到 15% 到 30%,在弱网环境优势明显。

example.com {
    root * /var/www/html
    php_fastcgi unix//run/php/php8.3-fpm.sock
    file_server
    encode zstd gzip
}

Caddy 适用场景:个人博客、文档站、内部工具、需要快速上线 HTTPS 的临时项目。如果你正在做 SSH 加固或自动化证书续期,可参考 Linux SSH 与 fail2ban 加固实战 把同一套自动化思路推广到运维其它环节。

五、OpenLiteSpeed:商业基因,缓存层最强

OpenLiteSpeed 是 LiteSpeed 商业版的开源衍生品,内置 LSCache 让 WordPress 这类动态站点的体感性能直接拉满。同一台测试机,默认开启 LSCache 的页面 QPS 飙到 14200、TTFB P99 仅 38ms,因为多数请求在缓存层就被命中,根本没穿透到 PHP-FPM。

去除 LSCache 因素做”裸压测”才公平:未命中缓存场景 QPS 约 1080、内存峰值 540MB、TTFB P99 240ms,与 Nginx 基本持平。WebAdmin 后台管理界面对不熟悉命令行的用户友好度极高,但内置防火墙规则编辑器在生产环境建议谨慎使用,毕竟一不小心就把自己的运维 IP 拉黑。

OpenLiteSpeed 适用场景:WordPress、Joomla、Magento 等 CMS 站点;缺乏专职运维但需要稳定缓存的中小企业;想用 LSCache 又不想付商业版授权费的团队。短板是社区生态弱于 Nginx,遇到非主流问题搜索难度大。WordPress 缓存调优思路可参考 WordPress W3 Total Cache 调优实战,与 LSCache 互为参照。

六、横向汇总表与选型建议

下面这张表汇总了四款服务器在 WordPress 场景下的核心指标(200 并发、未启用应用层缓存的对照组):

维度 Apache (event+FPM) Nginx Caddy OpenLiteSpeed
QPS 720 1180 940 1080
TTFB P99 410ms 210ms 280ms 240ms
内存峰值 1.4GB 480MB 620MB 540MB
配置复杂度
自动 HTTPS

选型建议:以高并发反向代理为核心选 Nginx;以最小运维成本、自动 HTTPS 为目标选 Caddy;WordPress 体系内追求缓存命中率选 OpenLiteSpeed;继承遗留 .htaccess 规则或多租户虚拟主机选 Apache。把这套服务器部署到生产前,建议先在 VPS 上跑一遍完整压测,部署细节参考 美国 VPS 部署教程 的防火墙与端口章节。Hostease 的中港云主机线路也常被用作低延迟回源节点。

总结与建议

四款 Web 服务器并不存在”绝对最优”的选项,关键在于把业务的并发模型、运维人力、合规需求摆上桌再决策。建议你按本文方法在自己业务的典型流量分布下跑一轮 wrk + ab 压测,再用真实埋点数据验证。如果你需要在多个站点之间快速切换技术栈,可以考虑把 Nginx 作为统一前置网关,把 Caddy 或 OpenLiteSpeed 放在内部做应用层,兼顾灵活性与性能。最后把所有配置纳入 Git 与 CI 自动化校验,能让团队任何成员在 10 分钟内复现整套环境。

发表评论