日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Jmeter分布式測試的注意事項和常見問題

來源: 責編: 時間:2023-11-04 23:04:14 300觀看
導讀Jmeter是一款開源的性能測試工具,使用Jmeter進行分布式測試時,也需要注意一些細節(jié)和問題,否則可能會影響測試結果的準確性和可靠性。一、Jmeter分布式測試時需要特別注意的幾個方面1. 參數(shù)化文件的位置和內(nèi)容如果使用csv

Jmeter是一款開源的性能測試工具,使用Jmeter進行分布式測試時,也需要注意一些細節(jié)和問題,否則可能會影響測試結果的準確性和可靠性。rwI28資訊網(wǎng)——每日最新資訊28at.com

rwI28資訊網(wǎng)——每日最新資訊28at.com

rwI28資訊網(wǎng)——每日最新資訊28at.com

rwI28資訊網(wǎng)——每日最新資訊28at.com

一、Jmeter分布式測試時需要特別注意的幾個方面

1. 參數(shù)化文件的位置和內(nèi)容

如果使用csv文件進行參數(shù)化,即通過讀取csv文件中的數(shù)據(jù)來為測試腳本提供不同的輸入值,那么需要注意以下兩點:rwI28資訊網(wǎng)——每日最新資訊28at.com

  • 需要把參數(shù)文件在每臺slave上拷貝一份,最好都放置在bin目錄下,因為Jmeter會直接從bin目錄下查找;
  • 參數(shù)文件的內(nèi)容要保持一致,即每臺slave上的參數(shù)文件的行數(shù)、列數(shù)、數(shù)據(jù)類型等都要相同,否則可能會導致數(shù)據(jù)不匹配或缺失。

2. slave機器的響應數(shù)據(jù)

slave機器執(zhí)行腳本時,若斷言執(zhí)行成功,則在master機器上是看不到請求響應數(shù)據(jù)的,只有在斷言出錯時才可見slave的返回。這是為了節(jié)省網(wǎng)絡帶寬和提高測試效率,因為在分布式測試中,通常只關心測試結果的統(tǒng)計和分析,而不需要查看每個請求的詳細數(shù)據(jù)。如果需要查看slave的響應數(shù)據(jù),可以在slave機器上打開jmeter.log文件,或者在master機器上設置Jmeter屬性mode=Standard,但這樣會增加網(wǎng)絡開銷和測試時間。rwI28資訊網(wǎng)——每日最新資訊28at.com

3. TCP取樣器的配置

若要使用Jmeter分布式進行TCP協(xié)議的測試,需要注意以下兩點:rwI28資訊網(wǎng)——每日最新資訊28at.com

  • TCP取樣器中“TCPClient classname”該欄必須填寫對應的協(xié)議,例如,如果要發(fā)送二進制數(shù)據(jù),就要填寫org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl,如果要發(fā)送文本數(shù)據(jù),就要填寫org.apache.jmeter.protocol.tcp.sampler.TCPClientImpl,否則可能會出現(xiàn)數(shù)據(jù)格式錯誤或無法發(fā)送的問題;
  • 以十六進制發(fā)送tcp數(shù)據(jù)包時,TCP取樣器中“End of line(EOL) byte value”必須填寫數(shù)據(jù)包的結束符,例如,如果數(shù)據(jù)包以0D 0A結尾,就要填寫13,否則jmeter會一直等待,無響應。

4. Linux下配置jmeter環(huán)境變量

如果在Linux系統(tǒng)下使用Jmeter,需要配置jmeter環(huán)境變量,以便于在命令行中直接啟動jmeter。具體步驟如下:rwI28資訊網(wǎng)——每日最新資訊28at.com

編輯/etc/profile文件,添加如下變量:rwI28資訊網(wǎng)——每日最新資訊28at.com

export JMETER_HOME=/usr/local/jmeter-5.0export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATHexport PATH=$JMETER_HOME/bin:$PATH

使配置文件立即生效,執(zhí)行命令:rwI28資訊網(wǎng)——每日最新資訊28at.com

source /etc/profile

查看是否安裝成功,執(zhí)行命令:rwI28資訊網(wǎng)——每日最新資訊28at.com

jmeter -v

二、Jmeter分布式測試的常見問題和解決方法

問題1:在master上運行jmeter-server.bat時,出現(xiàn)“Exception creating connection to:192.16..;nested exception is:java.io.FileNotFoundException:rmi_keystore.jks(系統(tǒng)找不到指定的文件)”錯誤

原因:Jmeter4.0以上的版本,默認啟用RMI連接的安全通信,需要創(chuàng)建密鑰庫。所以如果沒有創(chuàng)建密鑰庫,就會出現(xiàn)這個錯誤。rwI28資訊網(wǎng)——每日最新資訊28at.com

解決方法:rwI28資訊網(wǎng)——每日最新資訊28at.com

  • 方法一:修改apache-jmeter/bin/jmeter.properties 參數(shù):server.rmi.ssl.disable=true

備注:將master和slave機器上的jmeter.properties文件 參數(shù)server.rmi.ssl.disable均改為truerwI28資訊網(wǎng)——每日最新資訊28at.com

其中l(wèi)inux上是用以下命令:vi jmeter.properties 使用/server.rmi.ssl.disable/進行查找rwI28資訊網(wǎng)——每日最新資訊28at.com

  • 方法二:手動生成秘鑰和證書。執(zhí)行create-rmi-keystore.bat(Windows適用)或create-rmi-keystore.sh(Linux適用) 生成server.rmi.ssl.keystore.file的key文件,然后將key文件復制到所有的負載機的bin目錄下 修改jmeter.properties中

問題2:在slave上(linux系統(tǒng))運行jmeter-server時,出現(xiàn)“An error occurred: Cannot start. localhost is a loopback address”錯誤

原因:Jmeter默認使用localhost作為RMI的主機名,但是localhost是一個回環(huán)地址,不能用于遠程連接。rwI28資訊網(wǎng)——每日最新資訊28at.com

解決方法:rwI28資訊網(wǎng)——每日最新資訊28at.com

  • 方法一:運行以下命令:./jmeter-server -Djava.rmi.server.hostname=192.16.*.*(本機ip)
  • 方法二:修改jmeter-server文件
# vi jmeter-server 將jmeter-server中的RMI_HOST_DEF=-Djava.rmi.server.hostname=192.16.*.*(本機ip)

運行./jmeter-server即可。rwI28資訊網(wǎng)——每日最新資訊28at.com

備注:Linux下后臺執(zhí)行,啟用server:nohup ./jmeter-server -Djava.rmi.server.hostname=192.16.. &rwI28資訊網(wǎng)——每日最新資訊28at.com

查看確定jmeter是否啟動成功:ps axu | grep jmeterrwI28資訊網(wǎng)——每日最新資訊28at.com

問題3:遠程啟動slave機器時,如出現(xiàn)“Jmeter nested exception is:java.ConnectException connection timed out:connect ”錯誤

原因:可能是由于以下幾種情況導致的:rwI28資訊網(wǎng)——每日最新資訊28at.com

  • slave上的ip與master配置文件中的ip不一致;
  • slave機器上有虛擬網(wǎng)卡,導致ip地址不正確;
  • 防火墻或者安全軟件阻止了RMI的通信。

解決方法:rwI28資訊網(wǎng)——每日最新資訊28at.com

  • 查看slave上的ip與master配置文件中的ip是否一致;
  • 如果不一致,查看slave機器上是否有虛擬網(wǎng)卡,將網(wǎng)卡關閉,在此啟動Jmeter-server.bat,查看是否正確
  • 查看防火墻是否關閉

注:centos7上關閉防火墻:  firewall-cmd --state   //查看防火墻狀態(tài):rwI28資訊網(wǎng)——每日最新資訊28at.com

systemctl stop firewalld.service //關閉防火墻

問題4:當設置csv文件路徑時,如果路徑不對,無響應

原因:Jmeter在讀取csv文件時,如果找不到文件,會一直等待,而不會報錯。rwI28資訊網(wǎng)——每日最新資訊28at.com

解決方法:將csv文件以“相對路徑”命名,即將csv文件直接放入bin目錄下,在Jmeter路徑中直接寫入文件名rwI28資訊網(wǎng)——每日最新資訊28at.com

問題5:(Linux)默認端看1099被占用,如何關閉某個被占用端口的方法

原因:Jmeter使用RMI進行分布式測試時,需要使用1099端口作為注冊端口,如果該端口被其他程序占用,就會導致無法啟動jmeter-server或者無法連接slave。rwI28資訊網(wǎng)——每日最新資訊28at.com

解決方法:rwI28資訊網(wǎng)——每日最新資訊28at.com

查看當前所有tcp端口,執(zhí)行命令:rwI28資訊網(wǎng)——每日最新資訊28at.com

netstat -ntlp

查看所有1099端口使用情況,執(zhí)行命令:rwI28資訊網(wǎng)——每日最新資訊28at.com

nestat -ntulp |grep 1099

查看占用1099端口的程序pid,執(zhí)行命令:rwI28資訊網(wǎng)——每日最新資訊28at.com

lsof -i:1099

kill掉該進程,執(zhí)行命令:rwI28資訊網(wǎng)——每日最新資訊28at.com

kill -9 1109 //kill掉該進程

問題6:如果使用slave發(fā)送數(shù)據(jù)后,長時間無響應

原因:可能是由于以下幾種情況導致的:rwI28資訊網(wǎng)——每日最新資訊28at.com

  • 發(fā)送的數(shù)據(jù)中存在csv參數(shù)文件,但是slave機器的bin目錄下沒有該文件;
  • 建立的tcp采樣器中屬性“TCPClient classname”處沒有添加協(xié)議:org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl

解決方法:rwI28資訊網(wǎng)——每日最新資訊28at.com

  • 查看發(fā)送的數(shù)據(jù)中是否存在csv參數(shù)文件,查看slave機器的bin目錄下是否有該文件;
  • 查看建立的tcp采樣器中屬性“TCPClient classname”處是否添加協(xié)議:org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl

問題7:如果你的JMeter返回數(shù)據(jù)是亂碼

原因:可能是由于JMeter的默認編碼和服務器的編碼不一致,導致數(shù)據(jù)轉換出錯。rwI28資訊網(wǎng)——每日最新資訊28at.com

解決方法:在JMeter安裝路徑的bin目錄下,打開文件jmeter.properties,把Sampleresult.default.encoding的值改為 utf-8 即可。rwI28資訊網(wǎng)——每日最新資訊28at.com

問題8:啟動jmeter時,報錯:Error occurred during initialization of VM Could not reserve enough space for object heap errorlevel=1

原因:可能是由于JMeter的默認堆內(nèi)存大小不足以支持測試的負載,導致內(nèi)存溢出。rwI28資訊網(wǎng)——每日最新資訊28at.com

解決方法:rwI28資訊網(wǎng)——每日最新資訊28at.com

  • bin目錄下打開jmeter.bat文件,查找set HEAP,將set HEAP=-Xms128m -Xmx512m修改為set HEAP=-Xms512m -Xmx512m;
  • 重新啟動jmeter.bat即可

問題9:當jmeter用作數(shù)據(jù)庫API測試時,如果數(shù)據(jù)庫接口中參數(shù)中傳遞一個數(shù)組,如getApps(int nu, int appID[ ]),實際使用過程中報語法錯誤

原因:可能是由于JMeter的默認參數(shù)分隔符是逗號,而數(shù)組參數(shù)需要用分號分隔,導致語法錯誤。rwI28資訊網(wǎng)——每日最新資訊28at.com

解決方法:在JMeter的數(shù)據(jù)庫連接配置中,將參數(shù)分隔符改為分號即可。rwI28資訊網(wǎng)——每日最新資訊28at.com

問題10:當jmeter在windows控制機中添加cvs文件參數(shù)化的時候,負載機沒有沒有文件的時候,遠程啟動后會執(zhí)行失敗。(即使cvs文件中的變量沒有被引用)

原因:可能是由于JMeter在遠程啟動時,會先檢查參數(shù)文件的存在性,如果不存在,就會報錯。rwI28資訊網(wǎng)——每日最新資訊28at.com

解決方法:在負載機上添加相同的參數(shù)文件,或者在控制機上刪除參數(shù)文件的引用。rwI28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-16914-0.htmlJmeter分布式測試的注意事項和常見問題

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 漫談c++20協(xié)程

下一篇: 聊一聊九種 API 測試類型

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 井研县| SHOW| 蛟河市| 筠连县| 琼海市| 乳源| 虎林市| 昌宁县| 邵阳县| 绥江县| 石渠县| 乡宁县| 蓬安县| 调兵山市| 雅安市| 额济纳旗| 镇雄县| 古浪县| 城步| 乌兰浩特市| 赤水市| 镇安县| 乡宁县| 武汉市| 阿拉尔市| 锡林浩特市| 毕节市| 大余县| 滨州市| 肥西县| 含山县| 贡觉县| 观塘区| 莱芜市| 佳木斯市| 南平市| 察隅县| 屏山县| 治多县| 共和县| 岑巩县|