工程启动设置:java -Xmx4g -Xms4g -jar *.jar
测试的时候
执行:./wrk -t 5 -c100 -d 6 --latency -T 40 http://192.168.1.206:8004/qixiangControler/queryData?currentPage=1
针对每个case使用5个线程,以及100、200、500、1000进行并发测试
压力测试wrk工具使用:
源码地址:https://github.com/wg/wrk
安装:
git clone https://github.com/wg/wrk.git
cd wrk
make
安装完成进行压力测试:
./wrk -t 5 -c19 -d 6 --latency -T 40 http://192.168.1.206:8004/qixiangControler/queryData?currentPage=1
参数说明:
-c, --connections <N> Connections to keep open 连接数,并发数量
-d, --duration <T> Duration of test 压力测试持续时间,即在多少秒内进行压力测试,时间过了就自动结束
-t, --threads <N> Number of threads to use 线程数量,设置为cpu合数的2-3倍就行
-s, --script <S> Load Lua script file
-H, --header <H> Add header to request
--latency Print latency statistics 打印延迟分布,即相应时间分布
--timeout <T> Socket/request timeout 每个线程超时时间默认1秒
-v, --version Print version details
实际例子:下面是对一个接口进行压力测试用5个线程19个并发
./wrk -t 5 -c19 -d 6 --latency -T 40 http://192.168.1.206:8004/qixiangControler/queryData?currentPage=1
Running 6s test @ http://192.168.1.206:8004/qixiangControler/queryData?currentPage=1
5 threads and 19 connections
Thread StatsAvg Stdev Max +/- Stdev
Latency响应时间 5.33s平均响应时间 343.23ms 5.75s最大响应时间 60.00%
Req/Sec吞吐量 2.20平均吞吐量 3.43 10.00最大吞吐量 90.00%
Latency Distribution
50% 5.34s
75% 5.73s
90% 5.75s
99% 5.75s
15 requests in 6.01s, 21.53MB read,(6秒处理15个请求,每秒才处理2.5个请求总得吞吐量为2.5)
Requests/sec: 2.50 总吞吐量
Transfer/sec: 3.58MB
增大-c参数即并发数,吞吐量减小,所以最大并发为19个
二、Apache Jmeter 图形压力测试工具