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