咨询QQ:2083503238、1684129674、480934277(请勿重复咨询) 咨询微信:qiangfans
使用Apache自带的ab命令测试网站性能(小强性能测试培训班学员作品)
- 2018-02-09 16:31:00
- 大管家
- 原创 1365 投稿得红包
Apache自带的ab命令虽然很简单,但是对于调试的时候的测试,还是非常有效的,因此,做网站性能测试,还是有必要了解下的,关于ab详细命令,本文不做介绍,本文只介绍使用POST数据的使用方法。
测试环境
WEB环境服务器,并部署好SHOP系统
使用Xshell连接服务器
开始测试
login.ab 内容,该内容需要在登录的时候使用抓包工具进行抓包,我这里先使用了loadrunner进行了录制,并抓取了录制代码:
web_submit_data("user.php",
"Action={ip}user.php",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html",
"Referer={ip}user.php",
"Snapshot=t3.inf",
"Mode=HTML",
ITEMDATA,
"Name=username", "Value={userLoginText}", ENDITEM, //登录用户名
"Name=password", "Value=123123", ENDITEM, //登录密码
"Name=act", "Value=act_login", ENDITEM,
"Name=back_act", "Value={ip}", ENDITEM, //登录后返回地址
"Name=submit", "Value=", ENDITEM,
LAST);
经过分析,我们发现,其中的关键值:
"Name=username", "Value={userLoginText}", ENDITEM, //登录用户名
"Name=password", "Value=123123", ENDITEM, //登录密码
"Name=act", "Value=act_login", ENDITEM,
OK,有了这些字段,我们就可以使用工具先调试下,这里使用postman调试,看下效果咋样。YES,成功了,看来我们的数据处理有效,因此我们就可以处理login.ab的内容了,这里还有一个简单的方式,也是通过postman处理,少废话,看图:
然后我们将文本框内红色区域的内容复制到login.ab即可。接下来就可以开始测试了,上代码:
测试命令:
ab -n 10 -c 10 -k -p "/root/login.ab" -T "application/x-www-form-urlencoded" "http://192.168.219.130/xiaoqiangshop/user.php"
稍微解释下里面的参数:
-n requests Number of requests to perform
//在测试会话中所执行的请求个数。默认时,仅执行一个请求
-c concurrency Number of multiple requests to make
//一次产生的请求个数。默认是一次一个。
-k Use HTTP KeepAlive feature
-p postfile File containing data to POST
//包含了需要POST的数据的文件。
-T content-type Content-type header for POSTing
//POST数据所使用的Content-type头信息。
由于测试的是登录的数据,为了直观的看出测试结果,我们选用了数据表中的last_login字段,该字段会记录最新的登录时间,首先我们来看下数据库的原始记录:
执行命令
查看最新记录
我们惊奇的发现,我们的测试成功了,我们使用ab命令成功的发送了post数据。