目录
一、ApacheBench
1.1 ApacheBench 开源工具介绍
ApacheBench 工具程式 (ab) 是 Apache 网站服务器软件附带的工具,专门用来测试网站服务器的运行性能,特别是针对 Apache 网站服务器的性能分析。该程序原本是用来检测 Apache 网站服务器 (Web Server) 所能够提供的性能,特别是可以看出 Apache 网站服务器能提供每秒能发送多少网页。当然,也可以用在任何其他的网站服务器。
1.2 ApacheBench原理
ab命令会创建 多个并发 访问线程,模拟 多个访问者 同时对某一 URL地址 进行访问。
它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。
ab是一个命令行工具, ab命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载,其原理类似CC攻击。
二、ApacheBench在supernova测试仪中可应用的场景
2.1 网关模式
测试仪同时模拟客户端和服务器,测试流量穿过受测设备(防火墙、交换机、路由器等),得到受测设备的性能。
2.2应用服务模式
测试仪只模拟客户端,向受测的HTTP服务器发送流量,获取响应,得到HTTP服务器的性能。
2.3 终端模式
测试仪只模拟服务器,接收客户端的请求,并回复正确的回应,得到客户端的性能。
三、ApacheBench用例功能介绍
3.1日志显示级别
设置显示信息的详细程度,范围0-4,值越大显示信息越详细。2可显示警告和信息;3可显示响应代码;4可显示头部信息,默认值为0,当设置更高级别时,为不影响性能,建议请求总数设置为1
3.2 Web测试项目
在web测试项目中填入请求的url路径,请求头,响应头,get/post设置,断言,是一个完整的请求方式。
四、ApacheBench测试用例
4.1 ApacheBench用例拓扑图
4.2 ApacheBench用例目的
本次案例用开源工具ApacheBench测试真实服务器的性能
4.3 ApacheBench测试预计结果
4.3.1过真实服务器,测试出nginx服务器最大新建值
五、测试步骤
5.1创建ab/nginx用例,配置参数。
(1)在开源WIFI测试中选择ab/nginx用例,由于是直接到真实服务器中,选择在同一子网内即可
(2)抓包设置,查看抓包内容是否有误
(3)参数设置
5.2配置Web测试对象
在对象中创建Web测试项目,功能模块
服务器上确实有相关路径的配置
(3)点击启动用例
(4)在监控中查看运行界面
(5)生成报告
用例手动终止或者到时后,可在报告页面生成报告。
5.3 日志参数含义
Server Software: Web主机的系统版本(若Web主机设置关闭则无此信息)
Server Hostname: Web主机的IP位址(Hostname)
Server Port: Web主机的连接端口(Port)
Document Path: 测试网址的url路径部分
Document Length: 测试请求的响应大小
Concurrency Level: 同時进行压力测试的人数,并发数
Time taken for tests: 本次压力测试所花费的总秒数
Complete requests: 完成的请求数(Requests)
Failed requests: 失敗的请求数(Requests)
Write errors: 写入失败的数量
Total transferred: 本次压力测试的总数据传输量(包括 HTTP Header 的资料也计算在内)
HTML transferred: 本次压力测试的总数据传输量(仅计算回传的 HTML 的资料)
Requests per second: 平均每秒可回应多少要求
Time per request: 平均每个要求所花費的时间(单位: ms)
Time per request: 平均每个要求所花費的时间,跨所有同时连接数的平均值(单位: ms)
Transfer rate: 从 ab 到 Web Server 之间的网络传输速度
Connection Times (ms): 指的是压测测试时的连接处理时间
横轴栏位的部分:
min: 最小值
mean: 平均值
median: 中间值
max: 最大值
纵轴栏位的部分:
Connect: 从 ab 发出 TCP 要求到 Web 主机所花费的建立时间。
Processing: 从TCP 连接建立后,直到 HTTP 响应(Response)的资料全部都收到所花的时间。
Waiting: 从发送 HTTP 要求完成,到 HTTP响应(Response)第一个 Byte 所等待的时间。
Total: 等于 Connect + Processing 的时间(因为 Waiting 包含在 Processing 时间内了)
六、对预期结果进行验证
6.1过真实服务器,测试出nginx服务器最大新建值
1.设置128并发,查看实际结果
2.设置256用户,查看实际结果
3.设置512并发,查看实际结果
128并发,tps约为45057.00
256并发,tps约为46881.99
512并发,tps约为45232.85
Nginx服务器最大tps为46881.99