當前位置:
首頁 > 最新 > JMeter工具基礎知識篇-負載測試前優化工作

JMeter工具基礎知識篇-負載測試前優化工作

背景說明:

很多小夥伴經常在群里發牢騷,說這個jmeter太破了,執行著執行著就卡死了。你猜猜我會是什麼反應,我只能擺擺頭默默的苦笑,想都不用想,就知道為什麼那麼卡,他犯了什麼錯。知道為什麼?只要你使用jmeter,我相信GUI模式下的第一個啟動窗口你一定繞不過:

對於這個黑色的命令行窗口,有多少人靜下心來仔細讀過上個幾遍,短短几行字蘊含了多少知識量,知識在哪裡,技巧在哪裡,其實都隱藏在你默默忽略的一行一行幫助文檔中,這就是我反反覆復提醒各位小夥伴們,為啥學習的時候,最好的資料莫過於幫助文檔了!今天要講的就是在使用JMeter開展性能測試時,我們需要做哪些基礎的優化工作,避免不必要的問題產生。說實話,下面整理的內容,我也是循序漸進的把JMeter的幫助文檔看完了,在平時學習的過程中,逐漸做筆記,把一些重要的技巧和方法記錄下來,對幫助文檔進行了一個匯總和梳理,或者說把英文的東西按照自己的理解做了個翻譯而已,並沒有做知識的創造和創新。

負載測試前的優化工作:

1、官方建議選擇JMeter最新的版本使用,當前最新的版本為3.2,我本人使用的是3.1,畢竟開源的軟體測試工作不會做的過於全面和細緻,所以不想成為小白鼠,或者遇到莫名其妙的問題可能官方論壇也找不到答案。我使用大多數軟體都是比最新版本低1-2個子版本。

2、JMeter3.0、JMeter3.1需要在JDK7.*和JDK8.*上運行;JMeter3.2需要執行在JDK8上面,而且官方明確提到JMeter3.2在JDK9上還沒來得及全面測試,所以最好按照官方的說明,確保使用JDK版本的正確性,否則會出現一些莫名其妙的問題或者一些不兼容的問題。

查看java版本命令:java -version

查看jemter版本命令:jmeter -v

3、由於操作系統限制,每個操作系統限制了進程數和線程數,如果OS線程最大數不足,單負載壓力機並發線程數超過OS限制時會報錯。

4、JMeter的界面模式(GUI模式)是用來進行腳本編寫和調試的,在正式執行時,強烈建議使用命令行模式(no-GUI模式)去執行,具體命令行執行請參考前面的文章。

5、壓力執行機最好是4核8G或更高配置的機器;否則更低配置的機器,只適合拿來做腳本的編寫和調試用,如果做腳本並發調試時,並發量最好不要超過100,否則jmeter容易卡死,更不要在GUI模式下做腳本並發測試,即使並發調試時線程數也不應超過50。

6、默認情況下,JMeter的JVM堆棧為512M,如果負載壓力超過100個時,很可能JMeter自己會報錯(out of memory之類的內存溢出錯誤),所以需要根據機器總物理內存調整並發數,JVM堆棧分配4G時,承受500-1000的並發量問題不大。

·windows環境下,修改jmeter.bat:

set HEAP=-Xms256m -Xmx256m

set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m

改為:

set HEAP=-Xms512m -Xmx1024m

set NEW=-XX:NewSize=128m -XX:MaxNewSize=512m

·linux環境下,修改jmeter.sh:

java$JVM_ARGS-Xms2048m -Xmx4096m-XX:MaxPermSize=512m -Dapple.laf.useScreenMenuBar=true -jar `dirname $0`/ApacheJMeter.jar "$@"

說明:堆棧大小的設置,最好設置為4G左右,內存太小承受的並發數太少,太大會導致jvm垃圾回收系列問題(具體原因此處不解釋,可以百度java堆棧內存設置方面,這和jmeter本身無關,只和jvm的原理有關)。其它情況下,需要根據實際情況調整。

7、命令行執行時候的日誌,盡量選擇csv日誌,不建議選擇xml文件日誌(xml日誌信息更豐富,但是會增大壓力機負載,降低並發數量,按照個人經驗,xml格式的日誌適合介面自動化測試,csv格式的日誌適合介面性能測試)

8、性能測試腳本盡量保持簡潔,只保留最基本的檢查點即可,否則邏輯太複雜,也會降低單機的並發數量。

9、性能測試腳本中不要添加監聽器去查看日誌結果,如果想保留,性能測試前,需要將其注釋掉(也就是將其置為unenabled狀態),或者你在命令行執行的時候,增加-l選項,腳本中的監聽器日誌文件保存會自動屏蔽掉。

備註:只講乾貨,將知識的本質和原理輔以例子,讓你學起來知其然並且知其所以然,讓你一次的學習解決一類知識點!讓我們一起學習並快樂著。如果覺得好,請動動手指轉發吧,做一個知識的傳播者,share knowledge with the world!

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 金陽光測試 的精彩文章:

GC和finalize

TAG:金陽光測試 |