修真院java_【修真院JAVA小課堂】JMeter的簡單介紹

龙嘉玉
2023-12-01

大家好,我是IT修真院西安分院第2期學員,一枚正直善良的java程序員。

今天給大家分享一下,修真院官網java任務六中可能會使用到的知識點:

JMeter的簡單介紹

1.背景介紹

什么是壓測?

壓力測試(Stress Test),也稱為強度測試、負載測試。

壓力測試是模擬實際應用的軟硬件環境及用戶使用過程的系統負荷,

長時間或超大負荷地運行測試軟件,來測試被測系統的性能、可靠性、穩定性等。

為什么要壓測?

定位性能瓶頸,預估系統的承載能力,為項目改進和優化提供參考數據,通俗地講,壓力測試是為了發現在什么條件下您的應用程序的性能會變得不可接受。

怎樣進行壓測?

使用壓測軟件,或者編寫腳本等等

2.知識剖析

JMeter是什么

Apache JMeter是Apache組織開發的基於Java的壓力測試工具。

JMeter 可以用於對服務器、網絡或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能。

做壓力測試,一般要使用工具,人工是沒辦法做的。最常用的工具是LoadRunner, 但是LoadRunner畢竟是收費軟件,而且使用上也比較復雜。 現在越來越多的人開始使用Jmeter來做壓力測試。免費,而且使用上非常簡單。

吞吐量:是指在一次性能測試過程中網絡上傳輸的數據量的總和,吞吐量指標反映的是服務器承受的壓力

吞吐量(承壓能力)與request對CPU的消耗、外部接口、IO等密切關聯;主要是由TPS和並發數決定

影響參數:TPS、並發數、響應時間

TPS(Transaction Per second):每秒鍾系統能夠處理事務或交易的數量,它是衡量系統處理能力的重要指標

並發數:系統同時處理request/事務數

JMeter主要組件介紹

1.測試計划(Test Plan):是使用JMeter進行測試的起點,它是其它JMeter測試元件的容器。

2.線程組(Thread Group):代表一定數量的並發用戶,它可以用來模擬並發用戶發送請求。

3.取樣器(sampler):定義實際的請求內容,被線程組包含,我們主要用HTTP請求。

4.監聽器(Listener):負責收集測試結果,同時也被告知了結果顯示的方式

5.邏輯控制器(Logic Controller):邏輯控制器讓您自定義JMeter決定要發送請求時的邏輯。邏輯控制器可以改變來自子元素的請求順序

6.斷言(Assertions):可以用來判斷請求響應的結果是否如用戶所期望的

7.配置元件(Config Element):維護Sampler需要的配置信息,並根據實際的需要會修改請求的內容

8.前置處理器(Pre Processors)和后置處理器(Post Processors)

9.定時器(Timer):定時器(Timer)負責定義請求之間的延遲間隔。

3.常見問題

1、JMeter怎么添加插件?

2、壓力測試和性能測試的區別?

4.解決方案

添加plugins-manager.jar 到lib/ext目錄后重啟JMeter,在option菜單可以選項plugin manager中添加插件。

壓力測試:對系統不斷施加壓力的測試,是通過確定一個系統的瓶頸或者不能接收的性能點,來獲得系統能提供的最大服務級別的測試。例如測試一個Web站點在大量的負荷下,何時系統的響應會退化或失敗。

性能測試:在交替進行負荷和強迫測試時常用的術語。性能測試關注的是系統的整體。它和通常所說的強度、壓力/負載測試測試有密切關系。所以壓力和強度測試應該於性能測試一同進行。

5.編碼實戰

詳情見以下視頻

6.擴展思考

關於視圖解析器的優先級

熟悉 LoadRunner 的朋友一定不會對其TPS(每秒事務數)、TRT(事務響應時間)等視圖感到陌生,因為這是壓力測試最為關鍵的兩個指標。Meter以其開源、輕巧、靈活、擴展性高等特性贏得了廣大測試從業人員的青睞,但是它沒有像LoadRunner那樣提供一個TPS、TRT之類的視圖,雖然聚合報告也能說明一些整體以及實時的問題,但是就整體趨勢、實時平均值走向、穩定性報告方面就無能無力了

安裝JMeter的插件來解決

7.參考文獻

參考一:

https://www.cnblogs.com/wangtao_20/archive/2014/04/04/3645690.html

參考二:

http://blog.csdn.net/defonds/article/details/54576604

8.更多討論

Q1:jmeter的可視化tps插件有什么作用?

A:如果沒有的話我們只能看到一次測試中tps的平均值,有可視化tps插件我么可以看到tps隨時間的變化波動。

Q2:壓測的目的是什么?

壓測是找到程序的瓶頸,根據實景情況看是否可以滿足要求,如果不滿足就需要進行優化,可以從硬件,數據庫等方面優化

Q3:還有其他的壓測工具嗎?

另一個流行的壓測工具是LoadRunner,不是免費的,其他還是有很多,如:NeoLoad,WebLOAD,Loadster,Load impact等

今天的分享就到這里啦,歡迎大家點贊、轉發、留言、拍磚~

 类似资料: