专栏首页木头编程 - moTzxxCentOS7 ab压力测试安装与解释

CentOS7 ab压力测试安装与解释

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/details/78501799

背景

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

①.ab(apache benchmark)安装

  • 命令: yum -y install httpd-tools

②.ab测试的命令参数

  • 命令: abab -help
  • 显示命令参数如下
  • 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的使用

  • 模拟并发请求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 -c 100 -n 5000 http://192.168.1.106/index1.html

【测试二】:

  • 命令 ab -c 10000 -n 50000 http://192.168.1.106/index1.html
  • 简单解释:并发访问量过大 服务器拒绝访问,理论上通过系统配置,可以有更好的承受能力

⑤.注意事项

  • 测试机与被测试机要分开
  • 不要对线上的服务器做压力测试
  • 观察测试工具ab所在机器,以及被测试的前端机的CPU、内存、网络等都不超过最高限度的75%

⑥.文章推荐

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ThinkPHP5.1 Linux下命名空间问题

    随手把大写的 “A" 改为 “a”,同时对应的调用方式改为 “use app\uniapi\model\XinApiData” ,然后就发现,神奇的解决了问题 ...

    泥豆芽儿 MT
  • mysql 设置某个字段为随机整数

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

    泥豆芽儿 MT
  • 小程序富文本解析wxParse 安卓手机部分不支持的一种情形

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

    泥豆芽儿 MT
  • 谷歌对决亚马逊 在云中运行Hadoop

    Google Compute Engine 的虚拟机提供了一种快速、可靠的方式来运行 Apache Hadoop。如今,Google 正在努力通过Google ...

    静一
  • 微软、谷歌开发者大会终极PK:“AI First”的世界,谁的战略更清晰?

    【新智元导读】Techcrunch 的专栏作家 Frederic Lardinois 在参加了微软 Build 开发者大会和 Google I/O 大会后,认...

    新智元
  • 马云为何要做平头哥?A12X仿生芯片性能爆表,测评跑分公布

    许是名字的杀伤力太大,反而冲淡了公众对自研芯片配合自家应用强大优势的认知。不过,苹果最新发布的2018 iPad Pro及其搭载的A12X仿生芯片,无论是CPU...

    新智元
  • 世界上最顶尖的技术在哪些国家?长知识了!

    目前蚀刻设备精度最高的是日立。比如东丽,帝人的炭纤维,超高精密仪器,数控机床,光栅刻画机(这个最牛的也是日立,刻画精度达到10000g/mm ),光刻机(ASM...

    用户1621951
  • 扎心了!中国尚未掌控的核心技术清单

    前段时间美国全面制裁封杀中兴一事闹得沸沸扬扬,因为,一旦制裁实施,中兴将会陷入无零件可买、也无技术可支援的绝境之中,在这样的情况下中兴能够撑多久?这绝对是一个非...

    钱塘数据
  • HTC Vive于CES 2017推出全新配件与内容服务

    VRPinea
  • CentOS 7.0 systemctl使用说明

    centos 7.0  引入了很多心得特性,感觉比较大的是sytemctl 命令的使用。

    zhangdd

扫码关注云+社区

领取腾讯云代金券