性能測試工具比較:LoadRunner vs JMeter - 測試結果數據比較
對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時間。
那么,該事務的實際消耗時間,應該是Duration - Wasted Time,為0.2629秒。10次迭代平均值約為0.255秒,見下表。
表1 LR測試的web_url請求平均duration時間和浪費時間
迭代次數 | 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上執行相同的操作,記錄單個請求的平均響應時間。
2、 JMeter測試web請求響應時間
2.1 測試計劃
在JMeter測試計劃的線程組下,添加HTTP Cache Manager,勾選clear cache each iteration?,以使得每次迭代模擬用戶第一次操作效果。
然后添加測試HTTP采樣器,集合報告,查看結果樹等等。
HTTP采樣器的路徑填寫:http://www.baidu.com/。
2.2 單線程組運行
線程組的線程數屬性設為1,迭代次數設為10,ramp-up設為0。
執行結果
posted on 2013-07-31 10:29 順其自然EVO 閱讀(627) 評論(0) 編輯 收藏 所屬分類: loadrunner 、性能測試