使用Apache自带的ab命令测试网站性能,本文主要介绍使用POST数据的方式测试性能。
Apache自带的ab命令虽然很简单,但是对于调试的时候的测试,还是非常有效的,因此,做网站性能测试,还是有必要了解下的,关于ab详细命令,本文不做介绍,本文只介绍使用POST数据的使用方法。文章源自陈学虎-https://chenxuehu.com/article/2016/05/5125.html
测试环境
WEB环境服务器,并部署好SHOP系统文章源自陈学虎-https://chenxuehu.com/article/2016/05/5125.html
使用Xshell连接服务器文章源自陈学虎-https://chenxuehu.com/article/2016/05/5125.html
开始测试
login.ab 内容,该内容需要在登录的时候使用抓包工具进行抓包,我这里先使用了loadrunner进行了录制,并抓取了录制代码:文章源自陈学虎-https://chenxuehu.com/article/2016/05/5125.html
- 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);
经过分析,我们发现,其中的关键值:文章源自陈学虎-https://chenxuehu.com/article/2016/05/5125.html
- "Name=username", "Value={userLoginText}", ENDITEM, //登录用户名
- "Name=password", "Value=123123", ENDITEM, //登录密码
- "Name=act", "Value=act_login", ENDITEM,
OK,有了这些字段,我们就可以使用工具先调试下,这里使用postman调试,看下效果咋样:文章源自陈学虎-https://chenxuehu.com/article/2016/05/5125.html
文章源自陈学虎-https://chenxuehu.com/article/2016/05/5125.html
YES,成功了,看来我们的数据处理有效,因此我们就可以处理login.ab的内容了,这里还有一个简单的方式,也是通过postman处理,少废话,看图:文章源自陈学虎-https://chenxuehu.com/article/2016/05/5125.html
文章源自陈学虎-https://chenxuehu.com/article/2016/05/5125.html
文章源自陈学虎-https://chenxuehu.com/article/2016/05/5125.html
然后我们将文本框内红色区域的内容复制到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数据。
新的抓包方式
评论