标签:授权 小结 res read size width c语言 客户端 ati
ab是apache自带的压力测试工具,使用起来非常方便.
如果安装了apache, 那么ab已经安装好了,如果不想安装apache的话,可以通过以下方式安装ab
# ubuntu
sudo apt-get install apache2-utils
# centos
yum -y install httpd-tools
在压测前,需要关注几个选项,通过 ab -help
查看
Options are:
-n requests 要执行的请求次数
-c concurrency 并发数量
-s timeout 响应时间
执行
ab -n 1000 -c 100 -s 1 http://127.0.0.1:1080/event?config_name=mysql_config
# 总共100个并发执行1000此请求,超时时间为1s
在执行上述测试命令后,得到如下结果,主要关注以下几个指标:
Server Software:
Server Hostname: 127.0.0.1
Server Port: 1080
Document Path: /event?config_name=mysql_config
Document Length: 0 bytes
Concurrency Level: 100
Time taken for tests: 0.137 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 75000 bytes
HTML transferred: 0 bytes
Requests per second: 7275.11 [#/sec] (mean)
Time per request: 13.745 [ms] (mean)
Time per request: 0.137 [ms] (mean, across all concurrent requests)
Transfer rate: 532.84 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 1.0 1 5
Processing: 1 12 5.9 11 30
Waiting: 1 11 5.9 11 29
Total: 1 13 6.1 13 30
Percentage of the requests served within a certain time (ms)
50% 13
66% 15
75% 17
80% 18
90% 22
95% 25
98% 28
99% 29
100% 30 (longest request)
wrk 是一款c语言开发的现代的http性能基准测试工具,使用简单,功能强大。
安装可以从github上下载源码编译安装 wrk github地址
wrk的命令选项并不多,很容易使用
Usage: wrk <options> <url>
Options:
-c, --connections <N> 建立的连接
-d, --duration <T> 执行测试时间
-t, --threads <N> 线程数量
-s, --script <S> 使用lua脚本(非常强大的功能,有兴趣可以深入研究)
-H, --header <H> 为每一个HTTP请求添加HTTP头
--latency 在压测结束后,打印延迟统计信息
--timeout <T> 超时时间
-v, --version Print version details
Numeric arguments may include a SI unit (1k, 1M, 1G)
Time arguments may include a time unit (2s, 2m, 2h)
wrk -c100 -t10 -d30s http://127.0.0.1:1080/event?config_name=mysql_config
# 10个线程100个连接压测30s
wrk生成的结果报告比较简洁,主要关注的点和ab差不多
Running 30s test @ http://127.0.0.1:1080/event?config_name=mysql_config
10 threads and 100 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 21.02ms 92.04ms 1.05s 97.79%
Req/Sec 1.22k 229.72 2.38k 75.47%
365483 requests in 30.07s, 26.14MB read
Requests/sec: 12152.63
Transfer/sec: 0.87MB
jmeter 是由java编写的一个GUI测试工具,功能强大且结果多样
安装可以去 apache jmeter 下载
建立好 Plan后就可以建立 Thread Group 了, 建立方式
选中Plan 后, Edit > Add > Threads > Thread Group
Thread Group 可以设置线程的一些参数,主要是 Number of Threads(users) 和 Loop Count
Listener主要生成一些结果报告,添加方式为
选中Thread Group后 Edit > Add > Listener
可以看到有很多结果报告,我平时主要用到以下几个结果报告
这个报告会生成请求树,点击可以查看每个请求的信息
这个报告会生成请求的聚合统计信息, 主要参数就是QPS, 传输速度等
强大的图形报告结果
图形结果一些说明
根据图形结果得到的一些分析
标签:授权 小结 res read size width c语言 客户端 ati
原文地址:https://www.cnblogs.com/friendwrite/p/10676366.html