使用ab 做程序的并发性能测试

在学Nginx课程的过程中了解到了Ab这个测试并发的工具,下载下来进行测试。

下载地址, 提取码:3m0h

(1)打开httpd/bin/文件夹,用命令行窗口执行ab程序。

(2)如果请求为post,需要建立一个文件来进行操作。

例如,一个url接受一个token的参数进行登录,访问url的时候进行post操作,我们在当前文件夹建立一个token.txt文件

tokenId=be4afc178e5c2526ac99289cda93399dd4e

执行命令:

ab -n 100 -p token.txt -T 'application/x-www-form-urlencoded' https://url/login/

例如,一个url接受账户和密码的参数进行登录,login.txt可以写入:

userName=admin&password=123456

执行命令:

ab -n 100 -p login.txt -T 'application/x-www-form-urlencoded' https://url/login/

(3)如果请求为get请求,就可以直接写在url里面

ab -n 100 https://url/login/?tokenId=be4afc178e5c2526ac99289cda93399dd4e

(4)结果分析

网址是http+ssl的,但是这个ab工具不支持,就直接访问http网址了,结果如下所示:

Concurrency Level: 并发用户数

Time taken for tests: 当前完成测试的时间

Complete requests: 完成的请求数量

Requests per second: 吞吐率,这个值越大越好

Time per request: 用户平均请求等待时间

Time per request(across all concurrent requests): 服务器平均请求等待时间

(5)运行参数文档

n在测试会话中所执行的请求个数。默认时,仅执行一个请求。

-c一次产生的请求个数。默认是一次一个。

-t测试所进行的最大秒数。其内部隐含值是-n 50000,它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。

-p包含了需要POST的数据的文件。

-P对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。

-T POST数据所使用的Content-type头信息。

-v设置显示信息的详细程度-4或更大值会显示头信息,3或更大值可以显示响应代码(404,200等),2或更大值可以显示警告和其他信息。

-V显示版本号并退出。

-w以HTML表的格式输出结果。默认时,它是白色背景的两列宽度的一张表。

-i执行HEAD请求,而不是GET。

-x设置<table>属性的字符串。

-X对请求使用代理服务器。

-y设置<tr>属性的字符串。

-z设置<td>属性的字符串。

-C对请求附加一个Cookie:行。其典型形式是name=value的一个参数对,此参数可以重复。

-H对请求附加额外的头信息。此参数的典型形式是一个有效的头信息行,其中包含了以冒号分隔的字段和值的对(如,"Accept-Encoding:zip/zop;8bit")。

-A对服务器提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即,是否发送了401认证需求代码),此字符串都会被发送。

-h显示使用方法。

-d不显示"percentage served within XX [ms] table"的消息(为以前的版本提供支持)。

-e产生一个以逗号分隔的(CSV)文件,其中包含了处理每个相应百分比的请求所需要(从1%到100%)的相应百分比的(以微妙为单位)时间。由于这种格式已经“二进制化”,所以比'gnuplot'格式更有用。

-g把所有测试结果写入一个'gnuplot'或者TSV(以Tab分隔的)文件。此文件可以方便地导入到Gnuplot,IDL,Mathematica,Igor甚至Excel中。其中的第一行为标题。

-i执行HEAD请求,而不是GET。

-k启用HTTP KeepAlive功能,即在一个HTTP会话中执行多个请求。默认时,不启用KeepAlive功能。

-q如果处理的请求数大于150,ab每处理大约10%或者100个请求时,会在stderr输出一个进度计数。此-q标记可以抑制这些信息。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值