在Linux環(huán)境,使用jmeter壓測會遇到很多問題,比如:配置不對,權限不足這些都是很好解決。
但是遇到這幾個問題:
1.內存泄漏? ?2.端口不夠
遇到兩個問題網(wǎng)上解決辦法都很雜 ,沒有一個清晰明了的解決辦法,所以針對這兩個問題,寫出解決辦法:
一、內存泄漏
1.現(xiàn)象,JVM內存泄漏。
2.原因和解決辦法
1.jmeter腳本需要優(yōu)化
例如:
屏蔽“聚合報告”“查看結果數(shù)”,等插件
腳本盡量最小變量,多個線程組下CSV文件設置,如果只在當前線程組使用變量,盡量不使用“全部現(xiàn)場”。
2.jmeter啟動的時候有分配的給它的內存,一般是1G,所以要加大。
bin/下的jmeter文件(非jmeter.sh)編輯:(Windows環(huán)境編輯jmeter.bat)
JVM_ARGS="-Xms4g -Xmx4g"
還有另一個方法:啟動加參數(shù)設置:JVM_ARGS="-Xms2048m -Xmx2048m" jmeter -t test.jmx
(上面調整內存格式可以1g 2g,也可以1024m 2048m,這樣寫都可以)
二、端口不夠
1.報錯現(xiàn)象:
Response code: Non HTTP response code: java.net.BindException
Response message: Non HTTP response message: Address already in use: connect
2.原因和解決辦法:
Linux本來的默認的端口歐范圍:1024-65535,64511個,所以當壓測接口調用超過65535個就會出現(xiàn)端口不夠的問題。
查Linux支持多少端口,
cat /proc/sys/net/ipv4/ip_local_port_range
然后找運維修改,或者:
修改文件? /etc/sysctl.conf
鍵入如下語句:
net.ipv4.ip_local_port_range = 1024 65535
壓測過程還有其他問題,比如寬帶限制,負載均衡,關閉緩存等,多百度即可。