jmeter概述與工作原理
JMeter 是 Apache 基金會 Jakarta 上的一個純 Java 開源項目,起初用於基 於 Web 的壓力測試(pressure test),后來其應用范圍逐漸擴展到對文件傳輸 FTP, 大型數據庫(JDBC 方式),腳本程序(CGI, Perl 等),Web Services, Java 應用系統等方面的測試。
JMeter 本身主要用於性能測試,如系統壓力等。除此之外,JMeter 能夠對 應用系統做功能測試和回歸測試,並且能夠通過使用帶有斷言的腳本程序來驗證 系統然后返回用戶期望的結果。為了提高工具的應用靈活性,JMeter 允許使用 正則表達式創建斷言。正是由於它的靈活性和可擴展性,JMeter 逐漸成為流行 的開源測試工具。
Jmeter運行在JVM虛擬機上,每個進程的開銷比較大,且java支持多線程, 所以Jmeter是以線程的方式來運行測試的。
Jmeter通過線程組來驅動多個線程運行測試腳本對被測試服務器發起負載, 每一個負載機上都可以運行多個線程組,Jmeter運行場景不僅可以在GUI方式中 完成,還可以使用命令行,而且命令行運行的方式對於負載機的資源消耗會更小。 在運行過程中通過斷言來驗證結果的正確性,可以通過監聽來記錄測試結果。
控制機:運用多台Jmeter負載機進行性能測試時,被選中作為管理機的那台機器 稱為控制機,該台機器也能運行腳本,同時也用來管理遠程負載機運行的任務, 並且收集測試結果。
負載機:向被測服務器發起負載的機器,控制機會把測試腳本發送給負載機,如 果運行的測試腳本有參數文件以及依賴的jar包時,控制機不能發送,需要手動 拷貝到負載機本地
jmeter運行過程如下:
遠程負載機啟動程序,等待控制機連接;
控制機連接上遠程負載機;
控制機發送指令(腳本及啟動命令)啟動線程;
負載機運行腳本,回傳測試數據;
控制機收集結果並顯示
jmeter工作過程:

