最近在
测试一个系统的登录并发时,登录并发的人数20个就已经不行了。我们就一直在想办法找调优的方法。后来发现这个方法能够直观的定位到程序出现瓶颈的位置。所以写一下,本人对loadrunner一知半解,说错的地方请多多执教。
首先录制程序的脚本,找到录制脚本的代码页,在每一行代码上都加上一个事务(也可以不在每一行代码上加事务,只在你认为可能有问题的代码附近加几个事务点也可以),如:
lr_start_transaction("1");
web_url("10.19.65.38",
"URL=http://10.19.65.38/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
EXTRARES,
"Url=/images/login_bg.jpg", ENDITEM,
"Url=/images/login_left.gif", ENDITEM,
"Url=/images/login_top.gif", ENDITEM,
"Url=/images/logo.gif", ENDITEM,
"Url=/images/login_banner.jpg", ENDITEM,
"Url=/images/login_down.gif", ENDITEM,
"Url=/images/login_button_out.gif", ENDITEM,
"Url=/images/login_right.gif", ENDITEM,
"Url=/images/login_button_over.gif", ENDITEM,
LAST);
web_submit_form("CtrlUser.action",
"Snapshot=t2.inf",
ITEMDATA,
"Name=useraccount", "Value=liukj", ENDITEM,
"Name=password", "Value=Lc1234", ENDITEM,
LAST);
lr_end_transaction("1", LR_AUTO);
lr_start_transaction("2");
web_url("login.ilf",
"URL=http://10.19.65.38/login.ilf",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t4.inf",
"Mode=HTML",
EXTRARES,
"Url=http://10.19.65.38/zhibiaoAction!getValue.ilf", ENDITEM,
LAST);
lr_end_transaction("2", LR_AUTO);
这时运行脚本无误后,在场景中进行加压处理。随时观察事务加压的情况,就能观察出某个事务与事务之间有明显的瓶颈存在。
从下面的事务图片中很明显的能看出第一个事务与第二个事务之间有一个很明显的瓶颈,第一个人数到达50的时候第二个才30个,瓶颈在第二个事务点,这个方法仅供参考。谢谢。