點擊鏈接加入QQ群229390571(免費公開課、視頻應(yīng)有盡有):https://jq.qq.com/?_wv=1027&k=5rbudQa
OOM
在執(zhí)行壓測的時候,有時候會遇到 OutOfMemoryError 內(nèi)存溢出問題。
可以通過調(diào)整 JVM 內(nèi)存參數(shù)進行優(yōu)化,是在 jmeter.bat 啟動文件中配置的。
以文本方式打開 jmeter.bat,修改以下配置項:

調(diào)整堆內(nèi)存 HEAP 的大小:
將默認的 set HEAP=-Xms512m -Xmx512m,調(diào)整為 set HEAP=-Xms1024m -Xmx1024m;
調(diào)整堆內(nèi)存中新生代 NEW 的大?。?/p>
將默認的 set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m,調(diào)整為 set NEW=-XX:NewSize=256m -XX:MaxNewSize=256m;
調(diào)整堆內(nèi)存中永久代 PERM 的大?。?/p>
將默認的 set PERM=-XX:PermSize=64m -XX:MaxPermSize=128m,調(diào)整為 set PERM=-XX:PermSize=128m -XX:MaxPermSize=256m;
修改后重啟 jmeter,oom 問題一般可以得到解決(參數(shù)的調(diào)整不是越大越好,具體根據(jù)測試機的硬件配置來決定,循序漸進)。
監(jiān)聽器的使用
監(jiān)聽器即 listener ,用來收集 sampler 的結(jié)果數(shù)據(jù)和呈現(xiàn)結(jié)果圖形,我們最常用的有察看結(jié)果樹、聚合報告等等。
監(jiān)聽器本身會在每次 sampler 運行完成后執(zhí)行一次,即一個測試計劃中的監(jiān)聽器數(shù)量越多,運行時帶來的資源消耗就越大(尤其是 察看結(jié)果樹 和 用表格察看結(jié)果 等)。
因此實際執(zhí)行測試計劃時,應(yīng)首先禁用不需要的監(jiān)聽器,再開始執(zhí)行;
或者是運行時只啟用一種監(jiān)聽器, 并將生成的結(jié)果寫入文件中,然后就可以用不同的監(jiān)聽器展現(xiàn)保存的結(jié)果數(shù)據(jù)。
但是, 實際在并發(fā)量較大時、或者進行穩(wěn)定性測試時,最好是去掉或禁用所有的監(jiān)聽器,根據(jù)斷言結(jié)果來判斷請求是否成功, 測試報告以plugins插件中的報告形式、或是用文本形式,以此來提高測試結(jié)果的準確性。