Apache2在Ubuntu上的性能测试方法
ApacheBench是Apache自带的轻量级命令行工具,适合快速评估Apache2的并发处理能力和响应时间。
apache2-utils包(包含ab工具):sudo apt update && sudo apt install apache2-utils -y
ab -n [总请求数] -c [并发用户数] [目标URL]
示例:模拟100个并发用户,向本地Apache2服务器发送1000次请求(默认端口80):ab -n 1000 -c 100 http://localhost/
-n:指定测试的总请求数(必填);-c:指定并发用户数(必填);-t:设置测试最大持续时间(秒,如-t 60表示测试60秒);-r:遇到socket错误时不退出(避免因短暂网络问题中断测试);-k:启用HTTP KeepAlive功能(模拟真实用户的长连接场景)。mod_status是Apache的内置模块,可提供服务器的实时性能数据(如请求处理数、工作线程状态、CPU占用等)。
a2enmod status命令(若模块已启用,会提示“Module status already enabled”);/etc/apache2/mods-enabled/status.conf文件,修改Require ip指令为允许监控的IP地址(如本机127.0.0.1或远程IP):<Location "/server-status">
SetHandler server-status
Require ip 127.0.0.1 # 允许本机访问
# Require ip 192.168.1.100 # 允许远程IP访问(按需添加)
</Location>
sudo systemctl restart apache2
http://服务器IP/server-status(如http://localhost/server-status),即可查看实时性能数据(包括“Server uptime”“Total accesses”“Requests per second”等)。Apache JMeter是功能强大的图形化负载测试工具,适合模拟复杂用户行为(如登录、表单提交、数据库查询),支持分布式测试。
apache-jmeter-5.5.zip);unzip apache-jmeter-5.5.zip && cd apache-jmeter-5.5/bin
./jmeter.sh -v,显示版本信息则表示安装成功。wrk是一款现代化的HTTP负载测试工具,采用多线程设计,性能优于传统工具(如ab),适合高并发场景。
sudo apt install wrk -y
wrk -t[线程数] -c[并发数] -d[持续时间] [目标URL]
示例:使用12个线程、400个并发用户,测试30秒:wrk -t12 -c400 -d30s http://localhost/
systemctl status apache2检查);MaxRequestWorkers、KeepAliveTimeout等参数)或升级硬件。