本实验中,我将使用AutoBench来进行Web服务端的性能测试,借助于Httperf来实现集群测试。
本文接着上篇文章中的测试URL来进行分析AutoBench的测试过程。首先我们创建测试的命令行如下:
autobench --single_host --host1=127.0.0.1 --port1=8081 --uri1=/getServerIp --quiet --low_rate=500 --high_rate=11000 --rate_step=500 --num_call=1 --num_conn=1000 --timeout=10 --file ./result.tsv
参数分析:
--single_host:表示只进行单机测试。AutoBench可支持单机和双机的测试。
--host1 : 测试服务器的IP或者域名
--post1: 测试服务器程序监听的端口号
--uri1 : 测试时访问的Url
--low_rate : 测试时最低请求数
--high_rate : 测试时最高请求数
--rate_step : 请求增加的步长
--num_call : 每个连接的请求数
--num_conn : 瞬时将向服务器怼出这么多个并发连接
--file : 测试输出结果文件
因此上面的命令大概意思就是:
使用AutoBench,模拟客户端请求并发数量从500开始,500为步长,最高请求总量为11000。瞬时怼到服务器上的并发连接数为1000,每个连接发送一个请求,输出结果保存在result.tsv文件中。
打开测试结果文件result.tsv。主要有以下几个参数需要注意
dem_req_rate 并发请求数
req_rate_127.0.0.1 实际并发请求数
resp_time_127.0.0.1 服务端请求响应时间(单位ms)
net_io_127.0.0.1 网络IO
进行多组实验,分别取得响应时间和实际并发连接数的平均值,画图,评估服务端的性能。