阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Apache自带压力测试工具——AB初体验

405次阅读
没有评论

共计 5026 个字符,预计需要花费 13 分钟才能阅读完成。

我们知道压力测试的软件确实很多,诸如微软的 WAST,惠普的 LoadRunner 以及等等其他的,但这些软件学习起来还是需要花费些时间,在选择上实在头痛,后来在郭欣的那本《构建高性能 Web 站点》【PDF 下载 http://www.linuxidc.com/Linux/2015-02/113430.htm】上看到了他介绍的这款 Apache 自带的压力测试工具 AB,十分喜爱,于是今天终于有机会体验下 ab 对网站的压力测试。

    实验之前我的 apache 已经安装了,操作系统:Ubuntu 10.04 VMware 7.0

1、先查看一下版本信息 ab -V(注意是大写的 V)
01.linuxidc@linuxidc:~$ ab -V 
02.This is ApacheBench, Version 2.3 <$Revision: 655654 $> 
03.Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ 
04.Licensed to The Apache Software Foundation, http://www.apache.org/ 

 2、我们也可以使用小写的 v 查看下 ab 命令的一些属性 ab -v
01.linuxidc@linuxidc:~$ ab -v 
02.ab: option requires an argument — v 
03.ab: wrong number of arguments 
04.Usage: ab [options] [http[s]://]hostname[:port]/path 
05.Options are: 
06.    -n requests    Number of requests to perform 
07.    -c concurrency  Number of multiple requests to make 
08.    -t timelimit    Seconds to max. wait for responses 
09.    -b windowsize  Size of TCP send/receive buffer, in bytes 
10.    -p postfile    File containing data to POST. Remember also to set -T 
11.    -u putfile      File containing data to PUT. Remember also to set -T 
12.    -T content-type Content-type header for POSTing, eg. 
13.                    ‘application/x-www-form-urlencoded’ 
14.                    Default is ‘text/plain’ 
15.    -v verbosity    How much troubleshooting info to print 
16.    -w              Print out results in HTML tables 
17.    -i              Use HEAD instead of GET 
18.    -x attributes  String to insert as table attributes 
19.    -y attributes  String to insert as tr attributes 
20.    -z attributes  String to insert as td or th attributes 
21.    -C attribute    Add cookie, eg. ‘Apache=1234. (repeatable) 
22.    -H attribute    Add Arbitrary header line, eg. ‘Accept-Encoding: gzip’ 
23.                    Inserted after all normal header lines. (repeatable) 
24.    -A attribute    Add Basic WWW Authentication, the attributes 
25.                    are a colon separated username and password. 
26.    -P attribute    Add Basic Proxy Authentication, the attributes 
27.                    are a colon separated username and password. 
28.    -X proxy:port  Proxyserver and port number to use 
29.    -V              Print version number and exit 
30.    -k              Use HTTP KeepAlive feature 
31.    -d              Do not show percentiles served table. 
32.    -S              Do not show confidence estimators and warnings. 
33.    -g filename    Output collected data to gnuplot format file. 
34.    -e filename    Output CSV file with percentages served 
35.    -r              Don’t exit on socket receive errors. 
36.    -h              Display usage information (this message) 
37.    -Z ciphersuite  Specify SSL/TLS cipher suite (See openssl ciphers) 
38.    -f protocol    Specify SSL/TLS protocol (SSL2, SSL3, TLS1, or ALL) 

3、现在我们就对 88181 的网站进行一次压力测试吧,使用命令 ab -n1000 -c10 http://www.88181.com/index.php,其中 -n1000 表示总请求数 -c10 表示并发用户数为 10 http://www.88181.com/index.php 表示请求的 URL,下面是测试的结果,其中我们最关心的三个指标,我已经注释出来了。

 
01.linuxidc@linuxidc:~$ ab -n1000 -c10 http://www.88181.com/index.php 
02.This is ApacheBench, Version 2.3 <$Revision: 655654 $> 
03.Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ 
04.Licensed to The Apache Software Foundation, http://www.apache.org/ 
05.
06.
07.Benchmarking www.88181.com (be patient) 
08.Completed 100 requests 
09.Completed 200 requests 
10.Completed 300 requests 
11.Completed 400 requests 
12.Completed 500 requests 
13.Completed 600 requests 
14.Completed 700 requests 
15.Completed 800 requests 
16.Completed 900 requests 
17.Completed 1000 requests 
18.Finished 1000 requests 
19.
20. /*WEB 服务器用的是 nginx*/
21.Server Software:        nginx 
22.Server Hostname:        www.88181.com 
23.Server Port:            80
24.
25.Document Path:          /index.php 
26.Document Length:        154 bytes 
27.
28.Concurrency Level:      10
29.Time taken for tests:  74.373 seconds 
30.Complete requests:      1000
31.Failed requests:        0
32.Write errors:          0
33.Non-2xx responses:      1000
34.Total transferred:      330000 bytes 
35.HTML transferred:      154000 bytes
36./* 大家最关心的指标之一,指的是吞吐率
37. 相当于 LR 中的 每秒事务数,后面括号中的 mean 表示这是一个平均值 */ 
38.Requests per second:    13.45 [#/sec] (mean)
39./* 大家最关心的指标之二,指的是用户平均请求等待时间
40. 相当于 LR 中的 平均事务响应时间,后面括号中的 mean 表示这是一个平均值 */
41.Time per request:      743.726 [ms] (mean)
42./* 大家最关心的指标之三,指的是服务器平均请求处理时间
43.Time per request:      74.373 [ms] (mean, across all concurrent requests) 
44.Transfer rate:          4.33 [Kbytes/sec] received 
45.
46.Connection Times (ms) 
47.              min  mean[+/-sd] median  max 
48.Connect:      129  163 245.3    145    3154
49.Processing:  129  576 1510.8    147  11756
50.Waiting:      129  567 1502.0    147  11756
51.Total:        261  739 1543.7    294  11888
52.
53.Percentage of the requests served within a certain time (ms) 
54.  50%    294
55.  66%    297
56.  75%    304
57.  80%    308
58.  90%  1290
59.  95%  3452
60.  98%  7582
61.  99%  7962
62. 100%  11888 (longest request) 

4、为了使结果更有对比性,我们将并发用户更改为 100 个进行压力测试,我这里只将三个指标贴出来。
01.Requests per second:    190.95 [#/sec] (mean) 
02.Time per request:      523.694 [ms] (mean) 
03.Time per request:      5.237 [ms] (mean, across all concurrent requests) 

5、将并发用户改为 200 个进行测试
01.Requests per second:    186.00 [#/sec] (mean) 
02.Time per request:      1149.433 [ms] (mean) 
03.Time per request:      5.747 [ms] (mean, across all concurrent requests) 

6、500 个并发用户时的情况
01.Requests per second:    180.99 [#/sec] (mean) 
02.Time per request:      2631.662 [ms] (mean) 
03.Time per request:      5.263 [ms] (mean, across all concurrent requests) 

我们来分析下测试的结果,先对比下吞吐率,当并发用户的时候吞吐率最高为 190 reqs/s, 当并发用户数为 200,500 吞吐率下降了,随之用户的等待时间更是明显增加了,已经有 2s 的等待时间了。这说明性能明显下降了。当然分析这个测试结果并不是说明 88181 的网站的并发用户只能在 500 左右,因为我是在服务器负荷的情况下就行测试的,这显然不能说明问题。另外我们在生产环境下测试的时候,最好能将测试结果做成报表,这样可以非常清晰地对比出问题来,好了,我该准备下,给上面提交一份我们公司网站的测试报告了。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计5026字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19349
评论数
4
阅读量
7831951
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛 NAS-4:飞牛 NAS 安装 istore 旁路由,家庭网络升级的最佳实践 开始 大家好我是...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...