使用ab进行压力测试详解

发表于:2015-3-09 13:11

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:xox9001    来源:51Testing软件测试网采编

  当你使用PHP(或其他编程语言)完成一个web程序的开发,并且web程序在Apache服务器上正常运行的时候,你有没有考虑过对你的Apache服务器及部署在其上的web程序进行一些压力测试呢?毕竟,真金不怕火炼,只要配置优化合理、程序代码运行性能良好、硬件撑得住,通过压力测试我们就能看到一个喜人的成绩。话又说回来,即使测试结果差强人意或者糟糕透了,我们也可以好好反思并找到「问题出在哪里」。说了这么多废话,其实就是想告诉你一句:对服务器以及网站程序进行压力测试还是很有必要的。
  要对Apache及其上的web程序进行压力测试其实非常简单,我们也不用再额外下载安装什么测试工具,因为Apache HTTP Server已经给我们准备了一个压力测试工具——ab。
  ab,即Apache Benchmark,只要我们安装了Apache,就能够在Apache的安装目录中找到它。它的居住地址是Apache安装目录/bin/ab.exe。现在,我们就来看看如何使用ab.exe来进行压力测试。
  在使用之前我们先来学习一下ab的用法。首先,我们输入cmd打开DOS窗口,然后将更改当前工作目录为:Apache安装目录/bin/。然后键入帮助命令ab -help(或者ab /?、ab -h),我们就可以看到如下的用法介绍界面。
  ab的用法介绍ab的用法介绍
  通过上面的用法介绍可以得知,ab的使用方法就是输入如下DOS命令:
  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特性。
  -k
  使用HTTP的KeepAlive特性。
  -d
  不显示百分比。
  -S
  不显示预估和警告信息。
  -g
  输出结果信息到gnuplot格式的文件中。
  -e
  输出结果信息到CSV格式的文件中。
  -r
  指定接收到错误信息时不退出程序。
  -h
  显示用法信息,其实就是ab -help。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号