ab工具

1.  安装ab

    yum install httpd -y

2.  ab参数介绍

    -c  Number of multiple requests to make at a time  并发请求数  

    -n  Number of requests to perform  要执行的请求总数

    -k  使用HTTP的KeepAlive特性 

    -e  输出结果到CSV文件中  ab -c 10 -n 100 -e /tmp/1.csv https://www.baidu.com/index.html       

3.  ab结果分析

Server Software: BWS/1.1  表示被测试的web服务器软件名称
Server Hostname: www.baidu.com  请求的URL主机名
Server Port: 443  表示被测试的web服务器软件的监听端口
SSL/TLS Protocol: TLSv1/SSLv3,ECDHE-RSA-AES128-GCM-SHA256,2048,128  协议

Document Path: /index.html  表示请求的URL中的根绝对路径
Document Length: 227 bytes  表示HTTP响应数据的正文长度

Concurrency Level: 10  表示并发请求数
Time taken for tests: 0.679 seconds  表示所有这些请求被处理完成所花费的总时间
Complete requests: 100  表示总请求数 
Failed requests: 0
Write errors: 0
Total transferred: 109275 bytes
HTML transferred: 22927 bytes
Requests per second: 147.20 [#/sec] (mean)  吞吐率    计算公式:Complete requests/Time taken for tests    100/0.679
Time per request: 67.935 [ms] (mean)  用户平均请求等待时间 计算公式:Time token for tests/(Complete requests/Concurrency Level)    
Time per request: 6.794 [ms] (mean, across all concurrent requests)  服务器平均请求等待时间,计算公式:Time taken for tests/Complete requests,正好是吞吐率的倒数。也可以这么统计:Time per request/Concurrency Level。
Transfer rate: 157.08 [Kbytes/sec] received  表示这些请求在单位时间内从服务器获取的数据长度,计算公式:Total trnasferred/ Time taken for tests,这个统计很好的说明服务器的处理能力达到极限时,其出口宽带的需求量。

Connection Times (ms)
min mean[+/-sd] median max
Connect: 15 42 10.5 42 71
Processing: 4 22 8.9 20 43
Waiting: 4 15 8.1 13 38
Total: 28 64 14.4 63 103

Percentage of the requests served within a certain time (ms)
50% 63
66% 67
75% 72
80% 76
90% 84
95% 88
98% 102
99% 103
100% 103 (longest request)

4.  压力测试的几个概念

    1. 吞吐率(Requests per second)
      概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。
      计算公式:总请求数 / 处理完成这些请求数所花费的时间,即
      Request per second = Complete requests / Time taken for tests

    2. 并发连接数(The number of concurrent connections)
      概念:某个时刻服务器所接受的请求数目,简单的讲,就是一个会话。

    3. 并发用户数(The number of concurrent users,Concurrency Level)
      概念:要注意区分这个概念和并发连接数之间的区别,一个用户可能同时会产生多个会话,也即连接数。

    4. 用户平均请求等待时间(Time per request)
      计算公式:处理完成所有请求数所花费的时间/ (总请求数 / 并发用户数),即
      Time per request = Time taken for tests /( Complete requests / Concurrency Level)

    5. 服务器平均请求等待时间(Time per request: across all concurrent requests)
      计算公式:处理完成所有请求数所花费的时间 / 总请求数,即
      Time taken for / testsComplete requests
      可以看到,它是吞吐率的倒数。
      同时,它也=用户平均请求等待时间/并发用户数,即
      Time per request / Concurrency Level

 

posted @ 2019-10-21 10:34  奋斗史  阅读(113)  评论(0)    收藏  举报