对web请求(HTTP/HTML)进行性能测试,确认请求响应时间。分别使用Loadrunner和JMeter进行测试,比较测试结果。
1、LoadRunner测试web请求响应时间
1.1 编制(录制)脚本
创建单协议(HTTP/HTML)脚本,调用如下web_url,作为一个简单事务:
lr_start_transaction("test"); web_url("www.baidu.com", "URL=http://www.baidu.com/", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Snapshot=t1.inf", "Mode=HTML", LAST ); lr_end_transaction("test");
1.2 运行时设置
在Virtual User Generator,打开Vuser/Runtime Setting,设置browser emulation。设置每个迭代使用新的vuser,同时不使用cache,模拟用户第一次发送请求效果,如下:
图1 设置browser emulation
1.3 单个用户运行
设置脚本以单用户在vu generator中运行,迭代10次。
通过调用lr_start_timer和lr_end_timer函数获取web_url消耗时间,调用lr_get_transaction_wasted_time获取事务浪费时间,并调用lr_output_message打印到replay log中。
执行结果:
Action.c(129): web_url("www.baidu.com") was successful, 24357 body bytes, 2474 header bytes, 38 chunking overhead bytes [MsgId: MMSG-26385] Action.c(144): web_url elapsed = 1.085238 Action.c(167): lr_get_transaction_wasted_time = 0.868584 Action.c(172): Duration = 1.118885 , Waste = 0.868584 Action.c(182): Notify: Transaction "DL_PC" ended with "Fail" status (Duration: 1.1315 Wasted Time: 0.8686). Action.c(185): actualElapsedTime = 1.146042
上述消息显示,web_url请求成功返回,消耗时间1.085238秒,其中浪费时间0.868584秒。注意,Duration值稍大于web_url elapsed时间。