本文翻譯自:https://www.guru99.com/introduction-to-jmeter.html
什么是JMeter?為什么要使用它?
????Apache Jmeter是Apache軟件基金會的?Stefano Mazzocch設(shè)計和開發(fā)的一個純Java開源軟件,JMeter用于壓力測試、性能測試。你可以使用JMeter來分析和測試你的web應(yīng)用或者其他的服務(wù)。性能測試是指對應(yīng)用施加大量的壓力,如大量的、不同的、并發(fā)的用戶請求。最初JMeter只是用來測試HTTP、FTP類型的應(yīng)用。到今天,它可以用于測試各種功能、數(shù)據(jù)庫服務(wù)等不同的應(yīng)用(具體支持的測試類型可以參考官方文檔)。

https://jmeter.apache.org/?官網(wǎng)有非常詳細(xì)的高質(zhì)量文檔和教程

你曾經(jīng)測試過一個web應(yīng)用的最大可用性能嗎?這個web應(yīng)用最大的可處理的并發(fā)用戶數(shù)是多少呢?
假如有一天,老板讓你對百度進行100個并發(fā)用戶的測試,你會怎么做?

安排100個人使用電腦同時去訪問www.baidu.com是不可行的,如果是1000個并發(fā)呢?再說也沒法做到所有人同時訪問百度。(1000個并發(fā)對百度來說應(yīng)該是可以忽略的)因此,你需要一個像JMeter這樣的軟件,它可以模擬真實用戶的行為,對你的網(wǎng)站進行壓力/性能測試。
JMeter的優(yōu)勢

開源項目:JMeter是完全遵循開源協(xié)議的項目,允許開發(fā)者使用完整的源碼
界面友好:JMeter的界面非常易于使用,幾乎不用花時間就可以上手
跨平臺: JMeter是100%的Java語言開發(fā),所以在任何平臺只要有JVM環(huán)境就可以運行
多線程框架:JMeter支持多線程模擬多用戶并發(fā)場景,并可以通過不同的線程組來隔離不同的線程
可視化結(jié)果:測試結(jié)果可以通過圖表、圖像、結(jié)果樹、日志文件等各種形式展示
易于安裝:JMeter不需要安裝,只要下載包到本地,執(zhí)行bin目錄下的可執(zhí)行文件(jmeter/jmeter.bat)即可
高擴展性:JMeter支持符合規(guī)則的擴展插件(網(wǎng)上有各種強大的插件可以下載)
支持多種測試類型:JMeter可以用來做壓力測試、性能測試、功能測試等等
模擬真實用戶: JMeter支持多用戶并發(fā)模擬,通過參數(shù)化實現(xiàn)不同的用戶行為模擬來進行測試
多協(xié)議支持:JMeter不僅支持HTTP協(xié)議類型的應(yīng)用,還支持?jǐn)?shù)據(jù)庫性能測試;另外支持所有的基礎(chǔ)協(xié)議類型,如:?HTTP, JDBC, LDAP, SOAP, JMS, and FTP都是支持的
錄制回放: JMeter的UI界面還支持錄制回放功能,可以錄制瀏覽器的行為,重復(fù)進行回放
支持腳本:JMeter整合了BeanShell & selenium,支持自動化的腳本驅(qū)動測試
JMeter是如何工作的?
JMeter的主要工作流程大致如下圖所示:
JMeter模擬用戶組對目標(biāo)服務(wù)器發(fā)出請求,服務(wù)器處理請求后,返回結(jié)果到JMeter進行展示。

JMeter的完整工作流程大致如下圖所示:

JMeter的歷史版本
主要說明JMeter歷史版本與Java版本的兼容
