性能測(cè)試工具比較:LoadRunner vs JMeter - 測(cè)試結(jié)果數(shù)據(jù)比較
對(duì)web請(qǐng)求(HTTP/HTML)進(jìn)行性能測(cè)試,確認(rèn)請(qǐng)求響應(yīng)時(shí)間。分別使用Loadrunner和JMeter進(jìn)行測(cè)試,比較測(cè)試結(jié)果。
1、LoadRunner測(cè)試web請(qǐng)求響應(yīng)時(shí)間
1.1 編制(錄制)腳本
創(chuàng)建單協(xié)議(HTTP/HTML)腳本,調(diào)用如下web_url,作為一個(gè)簡(jiǎn)單事務(wù):
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 運(yùn)行時(shí)設(shè)置
在Virtual User Generator,打開Vuser/Runtime Setting,設(shè)置browser emulation。設(shè)置每個(gè)迭代使用新的vuser,同時(shí)不使用cache,模擬用戶第一次發(fā)送請(qǐng)求效果,如下:
圖1 設(shè)置browser emulation
1.3 單個(gè)用戶運(yùn)行
設(shè)置腳本以單用戶在vu generator中運(yùn)行,迭代10次。
通過調(diào)用lr_start_timer和lr_end_timer函數(shù)獲取web_url消耗時(shí)間,調(diào)用lr_get_transaction_wasted_time獲取事務(wù)浪費(fèi)時(shí)間,并調(diào)用lr_output_message打印到replay log中。
執(zhí)行結(jié)果:
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請(qǐng)求成功返回,消耗時(shí)間1.085238秒,其中浪費(fèi)時(shí)間0.868584秒。注意,Duration值稍大于web_url elapsed時(shí)間。
那么,該事務(wù)的實(shí)際消耗時(shí)間,應(yīng)該是Duration - Wasted Time,為0.2629秒。10次迭代平均值約為0.255秒,見下表。
表1 LR測(cè)試的web_url請(qǐng)求平均duration時(shí)間和浪費(fèi)時(shí)間
迭代次數(shù) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 2~10次平均 |
web_url time | 1.408252 | 0.231590 | 0.371534 | 0.416005 | 0.235011 | 0.215672 | 0.255214 | 0.215151 | 0.211167 | 0.255022 | 0.267374 |
wasted_time | 0.910228 | 0.018863 | 0.010128 | 0.013624 | 0.010553 | 0.010947 | 0.010819 | 0.010799 | 0.011404 | 0.010636 | 0.011975 |
接下來,在JMeter上執(zhí)行相同的操作,記錄單個(gè)請(qǐng)求的平均響應(yīng)時(shí)間。
2、 JMeter測(cè)試web請(qǐng)求響應(yīng)時(shí)間
2.1 測(cè)試計(jì)劃
在JMeter測(cè)試計(jì)劃的線程組下,添加HTTP Cache Manager,勾選clear cache each iteration?,以使得每次迭代模擬用戶第一次操作效果。
然后添加測(cè)試HTTP采樣器,集合報(bào)告,查看結(jié)果樹等等。
HTTP采樣器的路徑填寫:http://www.baidu.com/。
2.2 單線程組運(yùn)行
線程組的線程數(shù)屬性設(shè)為1,迭代次數(shù)設(shè)為10,ramp-up設(shè)為0。
執(zhí)行結(jié)果
posted on 2013-07-31 10:29 順其自然EVO 閱讀(627) 評(píng)論(0) 編輯 收藏 所屬分類: loadrunner 、性能測(cè)試