华为云ECS是目前国内使用较广泛的云服务器产品之一,很多网站和服务都搭建在它上面的Apache环境中。为了弄清楚这台服务器跑Apache到底能有多强的表现,本文在一台通用计算型ECS实例上做了完整的部署和压测,从默认配置到深度调优逐步对比,把真实的数据和经验整理出来,供大家参考。

测试环境与基准性能表现
本次评测选用的是华为云通用计算型s7实例,配置为4核8GB内存,带宽采用按流量计费的固定公网带宽,系统盘为高性能云硬盘。操作系统选择CentOS 7.9,Apache版本为2.4.6,通过yum默认源安装。为了模拟真实访问,压测工具使用ab和wrk两种,从同地域的另一台ECS发起请求,避免公网带宽成为瓶颈干扰结果。
先看默认配置下的基准数据。Apache采用prefork模式,未做任何优化,使用ab并发100持续请求一个约1KB的静态HTML页面,结果QPS大约在8200左右,平均响应时间12毫秒左右。这个成绩对于一台4核机器来说属于正常水平,说明华为云底层虚拟化对网络和磁盘的性能损耗控制得不错,云硬盘的随机读写能力也足以支撑静态资源的频繁读取。
切换到wrk使用8线程200连接压测时,QPS提升到约11000,吞吐量稳定在10MB/s以上,连续压测十分钟CPU稳定在85%上下,没有出现明显的抖动。这说明ECS实例的计算能力输出比较稳定,不像部分低价云主机存在CPU限频导致的性能波动问题。
MPM工作模式对并发能力的影响
Apache性能差异最大的变量就是MPM模块的选择。默认的prefork模式每个请求占用一个独立进程,内存开销大,进程切换成本高,适合搭配不支持线程安全的模块使用。而event模式是Apache 2.4推荐的高性能模式,通过独立的线程池处理连接,在KeepAlive场景下优势尤其明显。
把MPM切换为event模式后,同样的wrk压测参数下QPS直接提升到约17000,提升幅度超过50%,内存占用也从原来的1.2GB下降到600MB左右。切换方法很简单,修改配置文件中加载的MPM模块即可:
# 编辑MPM模块配置
vim /etc/httpd/conf.modules.d/00-mpm.conf
# 注释掉prefork,启用event
# LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
LoadModule mpm_event_module modules/mod_mpm_event.so
# 调整event模式参数
vim /etc/httpd/conf.d/mpm_event.conf
<IfModule mpm_event_module>
ServerLimit 16
StartServers 3
MinSpareThreads 75
MaxSpareThreads 250
ThreadsPerChild 25
MaxRequestWorkers 400
MaxConnectionsPerChild 10000
</IfModule>
# 重启Apache生效
systemctl restart httpd
需要特别注意的是,MaxRequestWorkers参数决定了Apache能同时处理的请求数上限。压测中发现,当并发超过这个值时,请求会进入排队等待状态,表现为响应时间陡增。4核8GB的配置建议把这个值设置在400到600之间,盲目调大反而会因为线程过多导致上下文切换开销上升,性能不升反降。
系统层与连接层的调优实践
除了Apache自身的配置,操作系统层面的参数对压测结果影响也非常大。默认的文件描述符限制只有1024,压测并发一上来就会出现大量的Too many open files报错。修改limits.conf把限制提升到65535后,高并发下的错误率从3%直接降到零。
另外,KeepAlive配置是个双刃剑。开启后可以减少TCP握手开销,对动态页面多的站点友好,但会占用连接资源。实测中KeepAliveTimeout设置为3秒,MaxKeepAliveRequests设置为200,综合表现最好。网络内核参数方面,调整了以下几个关键项:
# 追加内核网络参数 cat >> /etc/sysctl.conf << EOF net.ipv4.tcp_max_syn_backlog = 8192 net.core.somaxconn = 65535 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_fin_timeout = 15 EOF # 使配置生效 sysctl -p
完成全部调优后,最终的成绩是4核8GB实例在纯静态场景下QPS突破19000,P99响应时间控制在30毫秒以内。综合来看,华为云ECS运行Apache的性能表现完全对得起它的硬件规格,虚拟化损耗很小。如果你的站点是PHP动态应用,建议搭配华为云的ELB负载均衡和OBS对象存储分担静态资源压力,这样单机性能瓶颈会来得更晚。总体而言,中小规模的Web服务选华为云ECS加event模式Apache,是一套性价比很高的方案。
华为云ECSApache性能优化并发压测修改时间:2026-09-15 14:59:22