標籤:
Jmeter應用評估
發布時間: 2008-9-03 16:17 作者: 未知 來源: 網路轉載
字型: 小 中 大 | 上一篇 下一篇 | 列印 | 我要投稿 | 推薦標籤: 效能測試工具 Jmeter
綜述:
在用戶端程式上,與LR相比,jmeter只有一個主程式,指令碼設計、情境設計、運行監視、報告結果均在一起完成,沒有獨立的調試器,所以指令碼實際上跟情境是一體的;
在概念上,jmeter的測試計劃可以對應LR的測試情境,而線程組可以對LR的測試指令碼,與LR不同的是,jmeter的線程組既可以設定各自的並發使用者數,也可以設定各自的已耗用時間;jmeter使用各種取樣器作為請求的發生器,比如我們會經常用到的“HTTP請求”取樣器,可以對應到LR的請求函數“web_url”(get)“web_submit_data”(post);使用邏輯控制器來實現“if”“swith”“for each”“while”來實現邏輯文法;定時器可以實現think time;報表中的Throughput對應LR中的TPS,KB/sec對應LR中的Throughput,這一點可能容易混淆。
在結構上,jmeter使用各種元件組成指令碼,代碼為樹形結構(.jmx指令碼為xml格式)。
在功能上,jmeter沒有獨立的調試器,必須運行來進行指令碼的調試;沒有目標情境,但從使用者手冊的說明上來看,應該可以通過元件組合實現目標情境;只有針對回應時間的統計圖形展現,沒有針對事務數的統計圖形展現;資源監視模組只針對tomcat(5以上),解析tomcat的status返回的xml來實現,沒有Linux資源監控。
指令碼功能:
利用Proxy 伺服器截取協議包方式,指令碼形式為xml,解析執行,沒有單獨的調試器。Proxy 伺服器可以產生“HTTP請求”取樣器指令碼以及定時器。
Jmeter指令碼由各種jmeter元件組成。這些元件有:取樣器、配置元件、定時器、邏輯控制器、前置處理器、後置處理器、斷言、報告。
取樣器:產生壓力的元件,如產生http請求、ftp請求等
配置元件:與指令碼中的配置有關,如使用者變數、cookies設定、http頭設定等
定時器:產生延時(think time)
邏輯控制器:對代碼做邏輯控制,如if條件判斷、for迴圈等
前置處理器:取樣器操作前的處理,如使用者參數、URL rewrite等
後置處理器:取樣器操作後的處理,如提取響應資訊(關聯資料)等
斷言:即檢查點,支援正則
報告:結果展現,如響應資料、伺服器監控資料等
參數化檔案:兩種讀取方式——CSV Data Set Config元件和函數:
CSV Data Set Config元件提供比較豐富的參數設定:編碼方式、分隔字元、迴圈使用、共用模式;這裡有一個注意點:“Allow quote data”選項選為“true”的時候對全形字元的處理出現亂碼。利用設定共用模式可以實現在LR中的“Sequential”和“Unique”,對應選項為:“Sequential”用“Current thread”;“Unique”用“Current thread group”(當前的線程組內)或“All treads”(所有的線程組中)。
“StringFromFile”和“CSVRead”函數也可以實現讀取參數化檔案,“StringFromFile”的方式類似於“Unique”,而“CSVRead”很特別,是每個線程唯讀取一行作為參數,無論迴圈多少次,各個線程依次讀取。
其它參數化,函數實現:
1. 使用線程名作為參數:“threadNum”函數,返回格式為“線程組名稱+空格+線程組編號+橫線+線程編號”;
2. 使用機器名作為參數:“machineName”函數;
3. 使用時間作為參數:“time”函數;
4.使用隨機數作為參數:“Random”函數
檢查點:jmeter提供的斷言種類很豐富,支援Regex的多種匹配規則。
壓力產生的元件是取樣器,其中最常用的是“HTTP請求”。利用邏輯控制器元件可以實現條件判斷、迴圈等演算法。
另外jmeter提供了後置處理器元件建立關聯,常用的是“Regex提取器”元件,提取響應返回的資料產生關聯資料,進行後續處理或用於後面的請求。
情境設定:
沒有目標情境
線程組可理解為LR Controller中的單個指令碼,多個線程組就是多個指令碼,可以通過禁用/啟用操作來控制執行的線程組。
可以設定逐步增加壓力,也可以設定一次性加壓。
設定集合點:通過“Synchronizing Timer”這個定時器,可以設定多少個並發使用者集合到一起。
監控資源:使用“監視器結果”來監控,但目前只支援tomcat(5以上);原理:該功能是通過解析tomcat的管理status返回的xml實現的;監控得到的結果是負載、記憶體、線程。
可以通過邏輯控制器,以及不同的配置原件來類比不同的業務情境
【轉】Jmeter應用評估