【Jmeter】Jmeter使用常見問題記錄,持續~~~
1、利用負載機進行壓測可能出現的問題:
(1)遠程負載機 jmeter-server服務死掉,這個時候需要執行如下操作:
檢查遠程服務是否起來:ps -ef| grep jmeter, 如果起來了,會顯示佔用的進程號;
如果確認是進程是存在的,但是就是連不上遠程服務,這個時候就殺死jmeter-server的進程:kill -9 ***(進程號),然後從新啓動jmeter-server服務
如果進程不存在,直接啓動jmeter-server服務
(2)遠程服務正常啓動,但是利用本地的jmeter客戶端無法連接遠程服務
這個時候,你首先要看看你電腦是不是有雙網卡,比如筆記本電腦自行建了wifi共享、或者VM虛擬機新建了虛擬網卡、或者用了360wifi什麼的。
(3)java.net.SocketException: Permission denied: connect;
解決 Winows 啓動配置文件:jmeter.bat,添加如下啓動參數設置: set JVM_ARGS="-Djava.net.preferIPv4Stack=true"
說明,這個問題當時看了很久,後來終於在百度上找到了相關的blog(參考http://www.bubuko.com/infodetail-1278724.html)
(4)Jmeter-server啓動失敗:Cannot start. Unable to get local host IP address. is a loopback address
這個問題,每一次需要大型壓力測試的時候,分配遠程機器,需要重新部署服務總是會遇到,其實就是/etc/hosts文件設置不對導致Jmeter啓動失敗.
果然還是這個問題,貼/etc/hosts示例:
127.0.0.1 localhost.localdomain localhost
10.20.10.31 higkoo.rdev.company.net higkoo
執行命令`hostname`查看當前機器名如果當前機器名與/etc/hosts不一致,則修改hosts修改你的本地ip+正確的hostname;
注意,還可以使用命令:./jmeter-server -Djava.rmi.server.hostname=192.168.5.90
(5)遠程機器上的jmeter-server無法啓動,這個時候,請查看權限
先使用ls -l查看當前情況下jmeter-server文件的權限,如果沒有可執行權限,則需要修改權限;
chmod 777 jmeter-server (7表示可寫、讀、執行),這裏777直接給所有用戶(包括你分配的用戶組)全部加上了可執行權限。這裏自行了解chmod的語法
2、Jmeter使用日常問題
(1)當時測試的接口,參數爲中文的問題,需要轉UTF-8,例如搜索接口的測試
(2)本地啓動jmeter報錯,或者壓測過程中假死:Java.lang.OutOfMemoryError: PermGen space
內存溢出
修改jmeter.bat文件:
1、HEAP表示堆內存,xms、xmx分別表示初始化內存,最大內存,堆內存存儲的全部是對象;
2、NEW表示棧區,用來保存基礎數據類型的對象和自定義對象的引用;
3、PERM表示方法區,這個內存主要用來存放靜態的類信息和方法信息,靜態的方法和變量,final標註的常量信息等。
set HEAP=-Xms512m -Xmx1024m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m
set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%
set TENURING=-XX:MaxTenuringThreshold=2
set RMIGC=-Dsun.rmi.dgc.client.gcInterval=600000 -Dsun.rmi.dgc.server.gcInterval=600000
set PERM=-XX:PermSize=256m -XX:MaxPermSize=512m
3、使用Jmeter測試Dubbo接口可能出現的問題
將Dubbo接口測試服務的jar包放入jmeter lib/ext目錄下,重新啓動jmeter時可能會報spring jar包衝突,這是由於Dubbo工程師引入了spring相關的jar包了,但是Jmeter默認也是自帶了spring-core-2.5.6.jar包的(在lib目錄下),所以當我們將測試jar放到jmeter對應目錄下,重啓jmeter的時候回報spring的jar包衝突,所以在利用就jmeter做Dubbo接口測試的時候,我們需要將Jmeter自帶的spring-core-2.5.6.jar包去掉。