【Code Tools】AB性能测试工具(一)

一、工具下载

yum -y install httpd-tools

二、AB工具使用

格式: ab [options] [http://]hostname[:port]/path
例如:ab -n 1000 -c 10 https://www.baidu.com/
参数:
//在测试会话中所执行的请求个数。默认时,仅执行一个请求
-n requests     Number of requests to perform
//一次产生的请求个数。默认是一次一个。
-c concurrency Number of multiple requests to make
➜  ~  ab -n 1000 -c 10 https://www.baidu.com/
//apache版本信息
This is ApacheBench, Version 2.3 <$Revision: 1826891 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.baidu.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests

//平台BWS 版本1.1
Server Software:        BWS/1.1
//请求ip或者域名
Server Hostname:        www.baidu.com
//请求端口,当前请求为https所以端口为443,请求https端口80
Server Port:            443
//https端口协议
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES128-GCM-SHA256,2048,128
TLS Server Name:        www.baidu.com

//路径
Document Path:          /
//第一个成功返回的文档的字节大小
Document Length:        227 bytes
//并发数!!!
Concurrency Level:      10
//从建立连接到最后接受完成总时间
Time taken for tests:   17.851 seconds
//总请求数成功的
Complete requests:      1000
//失败的
Failed requests:        0
//从服务器接收的字节总数
Total transferred:      893000 bytes
//HTML接收字节数
HTML transferred:       227000 bytes
//核心参数1:吞吐率,指某个并发用户数下单位时间内处理的请求数;
Requests per second:    56.02 [#/sec] (mean)
//核心参数2:是用户平均请求等待时间,指处理完成所有请求数所花费的时间 /(总请求数 / 并发用户数);
Time per request:       178.515 [ms] (mean)
//是服务器平均请求处理时间,指处理完成所有请求数所花费的时间 / 总请求数;
Time per request:       17.851 [ms] (mean, across all concurrent requests)
//平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
Transfer rate:          48.85 [Kbytes/sec] received
//网络上消耗的时间的分解,各项数据的具体算法还不是很清楚
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       43  139  33.0    138     316
Processing:     7   38  39.1     32    1023
Waiting:        6   29  38.5     21    1023
Total:         55  177  48.4    174    1137

//每秒请求时间分布情况,指在整个请求中,每个请求的时间长度的分布情况,下面每个请求都有一个响应时间,其中50%的用户响应时间小于174 毫秒,<br>80% 的用户响应时间小于203 毫秒,最大的响应时间小于1137 毫秒
由于对于并发请求,cpu实际上并不是同时处理的,而是按照每个请求获得的时间片逐个轮转处理的,<br>所以基本上第一个Time per request时间约等于第二个Time per request时间乘以并发请求数
Percentage of the requests served within a certain time (ms)
  50%    174
  66%    188
  75%    198
  80%    203
  90%    224
  95%    244
  98%    270
  99%    289
 100%   1137 (longest request)
原文地址:https://www.cnblogs.com/756623607-zhang/p/11135395.html