工具/原料
Apache
方法/步骤
打开Apache服务器的安装路径,在bin目录中有一个ab.exe的可执行程序,就是我们要介绍的压力测试工具。
在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序。注意直接双击无法正确运行。
执行ab命令成功后,可以看到如图提示。该帮助很清楚详细的介绍了ab的用法以及各个参数的含义。
ab 的用法是:ab [options] [http://]hostname[:port]/path
例如:ab -n 5000 -c 200 http://localhost/index.php
上例表示总共访问http://localhost/index.php这个脚本5000次,200并发同时执行。
ab常用参数的介绍:
-n :总共的请求执行数,缺省是1;
-c: 并发数,缺省是1;
-t:测试所进行的总时间,秒为单位,缺省50000s
-p:post时的数据文件
-w: 以html表的格式输出结果
执行测试用例:ab -n 1000 -c 100 -w http://localhost/index.php >>c:\1.html
上面的测试用例表示100并发的情况下,共测试访问index.php脚本1000次,并将测试结果保存到c:\1.html文件中。
测试报告如图,可知在该100并发访问的情况下,共测试访问1000次,失败了852次。可知该脚本在此环境无法满足100并发访问的要求。
修改参数继续测试。测试并发50和30两种情况,由测试报告得知,在并发访问降到30时,错误的访问数降为39。
步骤阅读
工具非常简单易用,只需要设置几项内容就可以对于个服务端进行压测.在这里比较注意的就是测试模式这里,工具主要提供两种测试模式分别是应答模式:当连接接收服务端响应后马上进行下一次请求消息发送
间隔模式:连接根据设置的间隔时间来进行发送请求消息
消息编辑
在发起测试之前还需要给工作添加测试消息,明确工具向服务器发送那些消息内容
压力测试、负载测试、并发测试都是性能测试的一种类型。压力测试往往强调的是某性能指标的最大值,可能已经超过实际的期望值,可能已经是不合理的区间了。
负载测试强调的是性能指标在期望区间内。
关于这两个测试的说法网上存在各种相互冲突的说法,百度百科和知乎的都不一样,建议采用百度百科的解释。
并发测试只有特定的应用场景才使用,比如抢红包,主要测试线程锁和资源争抢冲突的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)