吞吐率(Requests per second)
  概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。
  计算公式:总请求数 / 处理完成这些请求数所花费的时间,即
  Request per second = Complete requests / Time taken for tests
  QPS(每秒查询数)、TPS(每秒事务数)是吞吐量的常用量化指标,另外还有HPS(每秒HTTP请求数)。
  跟吞吐量有关的几个重要是:并发数、响应时间。
  QPS(TPS),并发数、响应时间它们三者之间的关系是:
  QPS(TPS)= 并发数/平均响应时间
  对于无并发的应用系统而言,吞吐量与响应时间成严格的反比关系,实际上此时吞吐量就是响应时间的倒数。前面已经说过,对于单用户的系统,响应时间(或者系统响应时间和应用延迟时间)可以很好地度量系统的性能,但对于并发系统,通常需要用吞吐量作为性能指标。 
 对于一个多用户的系统,如果只有一个用户使用时系统的平均响应时间是t,当有你n个用户使用时,每个用户看到的响应时间通常并不是n×t,而往往比n×t小很多(当然,在某些特殊情况下也可能比n×t大,甚至大很多)。
  这是因为处理每个请求需要用到很多资源,由于每个请求的处理过程中有许多不走难以并发执行,这导致在具体的一个时间点,所占资源往往并不多。也就是说在处理单个请求时,在每个时间点都可能有许多资源被闲置,当处理多个请求时,
  如果资源配置合理,每个用户看到的平均响应时间并不随用户数的增加而线性增加。实际上,不同系统的平均响应时间随用户数增加而增长的速度也不大相同,这也是采用吞吐量来度量并发系统的性能的主要原因。一般而言,吞吐量是一个比较通用的指标,两个具有不同用户数和用户使用模式的系统,
  如果其最大吞吐量基本一致,则可以判断两个系统的处理能力基本一致。 

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

  并发用户数(The number of concurrent users,Concurrency Level)
  概念:要注意区分这个概念和并发连接数之间的区别,一个用户可能同时会产生多个会话,也即连接数。
  并发用户数是指系统可以同时承载的正常使用系统功能的用户的数量。与吞吐量相比,并发用户数是一个更直观但也更笼统的性能指标。实际上,并发用户数是一个非常不准确的指标,因为用户不同的使用模式会导致不同用户在单位时间发出不同数量的请求。
  一网站系统为例,假设用户只有注册后才能使用,但注册用户并不是每时每刻都在使用该网站,因此具体一个时刻只有部分注册用户同时在线,在线用户就在浏览网站时会花很多时间阅读网站上的信息,因而具体一个时刻只有部分在线用户同时向系统发出请求。
  这样,对于网站系统我们会有三个关于用户数的统计数字:注册用户数、在线用户数和同时发请求用户数。由于注册用户可能长时间不登陆网站,使用注册用户数作为性能指标会造成很大的误差。而在线用户数和同事发请求用户数都可以作为性能指标。
  相比而言,以在线用户作为性能指标更直观些,而以同时发请求用户数作为性能指标更准确些。 

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

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

QPS每秒查询率(Query Per Second) 
  每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力。 (看来是类似于TPS,只是应用于特定场景的吞吐量)

 响应时间(RT) 
  响应时间是指系统对请求作出响应的时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许多功能,而不同功能的处理逻辑也千差万别,因而不同功能的响应时间也不尽相同,
    甚至同一功能在不同输入数据的情况下响应时间也不相同。所以,在讨论一个系统的响应时间时,人们通常是指该系统所有功能的平均时间或者所有功能的最大响应时间。当然,往往也需要对每个或每组功能讨论其平均响应时间和最大响应时间。 
  对于单机的没有并发操作的应用系统而言,人们普遍认为响应时间是一个合理且准确的性能指标。需要指出的是,响应时间的绝对值并不能直接反映软件的性能的高低,软件性能的高低实际上取决于用户对该响应时间的接受程度。对于一个游戏软件来说,响应时间小于100毫秒应该是不错的,
    响应时间在1秒左右可能属于勉强可以接受,如果响应时间达到3秒就完全难以接受了。而对于编译系统来说,完整编译一个较大规模软件的源代码可能需要几十分钟甚至更长时间,但这些响应时间对于用户来说都是可以接受的。

ab是apache自带的一个很好用的压力测试工具,当安装完apache的时候,就可以在bin上面找到ab

Apache服务器下选择 ab 命令进行压力测试

 ab是Apache超文本传输协议(HTTP)的性质测试工具。
其布署意图是描写当前所设置的Apache的执行品质,首假设突显你安装的Apache每秒可以拍卖多少个请求.

#ab -v可以观望其主导新闻

#ab -n1000 -c10

那是一个主旨命令

-n1000意味总请求数为1000

-才0表示并发用户数为10

澳门金沙国际 1

参数表达:

Concurrency Level:并发用户数;

提姆e taken for tests:请求处理消费的总时间;

Complete requests:总请求数;

Failed requests:战败的请求数;

Total transferred::所有请求响应数据长度总和;

HTML transferred:所有请求响应数据中正文数据总和;

指令进行压力测试,ab压力测试工具。Requests per second:是大家很尊崇的一个数据,有人称之为“吞吐率”,Requests
per second=Complete requests/提姆e taken for tests

提姆e per request:平均请求等待时间;

Transfer rate:这一个请求在单位时间从服务器获取的数量长度。

 

# ab -c l -n 10000

ab 命令进行压力测试
ab是Apache超文本传输协议(HTTP)的属性测试工具。
其安顿意图是形容当前所设置的Apache的实践质量,…

CentOS7 ab压力测试安装与解释

  • Apache Benchmark(简称ab) 是Apache安装包中自带的压力测试工具
    ,简单易用
  • 在此提供 ab 在 centOS7 下的设置和使用方式
  • 注:个人发现,之前设置的centos6.5 默许已设置了ab,具体原因不明

设置ab测试工具

参数表明及示范

①.ab(apache benchmark)安装
  • 命令:yum -y install httpd-tools

澳门金沙国际 2

yum install httpd-tools -y

大家能够一步一趋100个冒出用户,对一个页面发送1000个请求

②.ab测试的吩咐参数
  • 命令:abab -help
  • 突显命令参数如下

澳门金沙国际 3

  • ab [可选的参数选项] 须要举行压力测试的url
  • 参数表达:

此外,我们再根据上面的用法介绍界面来详细了解每个参数选项的作用。-n  即requests,用于指定压力测试总共的执行次数。-c  即concurrency,用于指定的并发数。-t  即timelimit,等待响应的最大时间(单位:秒)。-b  即windowsize,TCP发送/接收的缓冲大小(单位:字节)。-p  即postfile,发送POST请求时需要上传的文件,此外还必须设置-T参数。-u  即putfile,发送PUT请求时需要上传的文件,此外还必须设置-T参数。-T  即content-type,用于设置Content-Type请求头信息,例如:application/x-www-form-urlencoded,默认值为text/plain。-v  即verbosity,指定打印帮助信息的冗余级别。-w  以HTML表格形式打印结果。-i  使用HEAD请求代替GET请求。-x  插入字符串作为table标签的属性。-y  插入字符串作为tr标签的属性。-z  插入字符串作为td标签的属性。-C  添加cookie信息,例如:"Apache=1234"(可以重复该参数选项以添加多个)。-H  添加任意的请求头,例如:"Accept-Encoding: gzip",请求头将会添加在现有的多个请求头之后(可以重复该参数选项以添加多个)。-A  添加一个基本的网络认证信息,用户名和密码之间用英文冒号隔开。-P  添加一个基本的代理认证信息,用户名和密码之间用英文冒号隔开。-X  指定使用的和端口号,例如:"126.10.10.3:88"。-V  打印版本号并退出。-k  使用HTTP的KeepAlive特性。-d  不显示百分比。-S  不显示预估和警告信息。-g  输出结果信息到gnuplot格式的文件中。-e  输出结果信息到CSV格式的文件中。-r  指定接收到错误信息时不退出程序。-h  显示用法信息,其实就是ab -help。

ab工具协理
澳门金沙国际 , 
ab是Apache超文本传输协议(HTTP)的特性测试工具。其设计意图是摹写当前所设置的Apache的施行质量,重假诺突显你安装的Apache每秒可以处理多少个请求。

输入指令:ab -n1000 -c100 //www.jb51.net/

③.ab的使用
  • 宪章并发请求100次,总共请求10000次
  • 一声令下模板: ab -c 100 -n 10000 待测试网站(建议完整路径)
  • 情节解释:

Server Software:        nginx/1.10.2 (服务器软件名称及版本信息)Server Hostname:        192.168.1.106(服务器主机名)Server Port:            80 (服务器端口)Document Path:          /index1.html. (供测试的URL路径)Document Length:        3721 bytes (供测试的URL返回的文档大小)Concurrency Level:      1000 (并发数)Time taken for tests:   2.327 seconds (压力测试消耗的总时间)Complete requests:      5000 (的总次数)Failed requests:        688 (失败的请求数)Write errors:           0 (网络连接写入错误数)Total transferred:      17402975 bytes (传输的总数据量)HTML transferred:       16275725 bytes (HTML文档的总数据量)Requests per second:    2148.98 [#/sec] (mean) (平均每秒的请求数) 这个是非常重要的参数数值,服务器的吞吐量 Time per request:       465.338 [ms] (mean) (所有并发用户(这里是1000)都请求一次的平均时间)Time  request:       0.247 [ms] (mean, across all concurrent requests) (单个用户请求一次的平均时间)Transfer rate:          7304.41 [Kbytes/sec] received 每秒获取的数据长度 (传输速率,单位:KB/s)...Percentage of the requests served within a certain time (ms)  50%    347  ## 50%的请求在347ms内返回   66%    401  ## 60%的请求在401ms内返回   75%    431  80%    516  90%    600  95%    846  98%   1571  99%   1593 100%   1619 (longest request)
命令格式: ./ab [options] [http://]hostname[:port]/path
命令参数:
-A:指定连接服务器的基本的认证凭据;
-c:指定一次向服务器发出请求数;
-C:添加cookie;
-g:将测试结果输出为“gnuolot”文件;
-h:显示帮助信息;
-H:为请求追加一个额外的头;
-i:使用“head”请求方式;
-k:激活HTTP中的“keepAlive”特性;
-n:指定测试会话使用的请求数;
-p:指定包含数据的文件;
-q:不显示进度百分比;
-T:使用POST数据时,设置内容类型头;
-v:设置详细模式等级;
-w:以HTML表格方式打印结果;
-x:以表格方式输出时,设置表格的属性;
-X:使用指定的代理服务器发送请求;
-y:以表格方式输出时,设置表格属性。

参数很多,一般我们用 -c表示并发数  -n 表示请求数即可
如果只用到一个Cookie,那么只需键入命令:
ab -n 100 -C key=value http://test.com/
如果需要多个Cookie,就直接设Header:
ab -n 100 -H “Cookie: Key1=Value1; Key2=Value2” http://test.com/

澳门金沙国际 4

④.压力测试(示例)

【测试一】:

  • 命令ab -c 100 -n 5000 http://192.168.1.106/index1.html

澳门金沙国际 5

【测试二】:

  • 命令ab -c 10000 -n 50000 http://192.168.1.106/index1.html

澳门金沙国际 6

  • 粗略表达:并发访问量过大
    服务器拒绝访问,理论上通过系统计划,可以有更好的承受能力

利用举例:

里头-n代表呼吁数,-c代表并发数

⑤.注意事项
  • 测试机与被测试机要分别
  • 不用对线上的服务器做压力测试
  • 观察测试工具ab所在机器,以及被测试的前端机的CPU、内存、互连网等都不超过最高限度的75%
[root@c75 ~]# ab -n 1000 -c 1000 http://192.168.255.209/monitor
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.255.209 (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


Server Software:        nginx/1.14.0
Server Hostname:        192.168.255.209
Server Port:            80

Document Path:          /monitor
Document Length:        185 bytes

Concurrency Level:      1000              //并发请求数
Time taken for tests:   2.252 seconds     //整个测试持续的时间
Complete requests:      1000              //完成的请求数
Failed requests:        0                 //失败的请求数
Write errors:           0                 //写入失败数
Non-2xx responses:      1000              //非2xx状态请求数
Total transferred:      386000 bytes      //传输的总字节数大小
HTML transferred:       185000 bytes      //传输的总文档字节数大小
Requests per second:    444.05 [#/sec] (mean)   //每秒处理的请求数
Time per request:       2252.008 [ms] (mean)    //每个请求花费的平均时间
Time per request:       2.252 [ms] (mean, across all concurrent requests)
Transfer rate:          167.39 [Kbytes/sec] received  //转移率

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        6   40  14.2     36      69   //创建TCP连接到服务器或者代理服务器所花费的时间
Processing:    40  738 722.9    302    2138   //写入缓冲区消耗+链路消耗+服务端消耗
Waiting:       11  546 595.8    293    1930   //写入缓冲区消耗+链路消耗+服务端消耗+读取数据消耗
Total:         45  778 733.0    344    2207   //总花费时间

Percentage of the requests served within a certain time (ms)
  50%    344
  66%    752
  75%   1668
  80%   1799
  90%   1957
  95%   2073
  98%   2161
  99%   2191
 100%   2207 (longest request)

重临结果:

⑥.小说推荐
  • 利用ab进行页面的压力测试(可参照解释)
  • apache质量测试工具ab使用详解

ab压力测试安装与解释 Apache
Benchmark(简称ab) 是Apache安装包中自带的下压力测试工具 ,简单易用 在此提供
ab 在 centOS7 下的安装和选拔方…

##首先是apache的版本信息 
This is ApacheBench, Version 2.3 <Revision:655654> 
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.xxx.xxx/ 
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking xxx.xxx.com (be patient)


Server Software:    Apache/2.2.19  ##apache版本 
Server Hostname:    vm1.xxx.com  ##请求的机子 
Server Port:      80 ##请求端口

Document Path:     /xxx.html 
Document Length:    25 bytes ##页面长度

Concurrency Level:   100 ##并发数 
Time taken for tests:  0.273 seconds ##共使用了多少时间 
Complete requests:   1000  ##请求数 
Failed requests:    0  ##失败请求 
Write errors:      0  
Total transferred:   275000 bytes ##总共传输字节数,包含http的头信息等 
HTML transferred:    25000 bytes ##html字节数,实际的页面传递字节数 
Requests per second:  3661.60 [#/sec] (mean) ##每秒多少请求,这个是非常重要的参数数值,服务器的吞吐量 
Time per request:    27.310 [ms] (mean) ##用户平均请求等待时间 
Time per request:    0.273 [ms] (mean, across all concurrent requests) ##服务器平均处理时间,也就是服务器吞吐量的倒数 
Transfer rate:     983.34 [Kbytes/sec] received ##每秒获取的数据长度

Connection Times (ms) 
       min mean[+/-sd] median  max 
Connect:    0  1  2.3   0   16 
Processing:   6  25  3.2   25   32 
Waiting:    5  24  3.2   25   32 
Total:     6  25  4.0   25   48

Percentage of the requests served within a certain time (ms) 
 50%   25 ## 50%的请求在25ms内返回 
 66%   26 ## 60%的请求在26ms内返回 
 75%   26 
 80%   26 
 90%   27 
 95%   31 
 98%   38 
 99%   43 
100%   48 (longest request)

apache的ab工具也终于一种ddos攻击工具

你或许感兴趣的小说:

  • apache品质测试工具ab使用详解
  • Apache
    AB品质测试工具使用教程
  • apache下ab.exe使用介绍
  • 使用Apache
    ab工具对Apache服务器进行简单的下压力测试

相关文章