成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Jmeter分布式測(cè)試的注意事項(xiàng)和常見(jiàn)問(wèn)題

開(kāi)發(fā) 測(cè)試 開(kāi)源
Jmeter是一款開(kāi)源的性能測(cè)試工具,使用Jmeter進(jìn)行分布式測(cè)試時(shí),也需要注意一些細(xì)節(jié)和問(wèn)題,否則可能會(huì)影響測(cè)試結(jié)果的準(zhǔn)確性和可靠性。

Jmeter是一款開(kāi)源的性能測(cè)試工具,使用Jmeter進(jìn)行分布式測(cè)試時(shí),也需要注意一些細(xì)節(jié)和問(wèn)題,否則可能會(huì)影響測(cè)試結(jié)果的準(zhǔn)確性和可靠性。

一、Jmeter分布式測(cè)試時(shí)需要特別注意的幾個(gè)方面

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

如果使用csv文件進(jìn)行參數(shù)化,即通過(guò)讀取csv文件中的數(shù)據(jù)來(lái)為測(cè)試腳本提供不同的輸入值,那么需要注意以下兩點(diǎn):

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

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

slave機(jī)器執(zhí)行腳本時(shí),若斷言執(zhí)行成功,則在master機(jī)器上是看不到請(qǐng)求響應(yīng)數(shù)據(jù)的,只有在斷言出錯(cuò)時(shí)才可見(jiàn)slave的返回。這是為了節(jié)省網(wǎng)絡(luò)帶寬和提高測(cè)試效率,因?yàn)樵诜植际綔y(cè)試中,通常只關(guān)心測(cè)試結(jié)果的統(tǒng)計(jì)和分析,而不需要查看每個(gè)請(qǐng)求的詳細(xì)數(shù)據(jù)。如果需要查看slave的響應(yīng)數(shù)據(jù),可以在slave機(jī)器上打開(kāi)jmeter.log文件,或者在master機(jī)器上設(shè)置Jmeter屬性mode=Standard,但這樣會(huì)增加網(wǎng)絡(luò)開(kāi)銷和測(cè)試時(shí)間。

3. TCP取樣器的配置

若要使用Jmeter分布式進(jìn)行TCP協(xié)議的測(cè)試,需要注意以下兩點(diǎn):

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

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

如果在Linux系統(tǒng)下使用Jmeter,需要配置jmeter環(huán)境變量,以便于在命令行中直接啟動(dòng)jmeter。具體步驟如下:

編輯/etc/profile文件,添加如下變量:

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

使配置文件立即生效,執(zhí)行命令:

source /etc/profile

查看是否安裝成功,執(zhí)行命令:

jmeter -v

二、Jmeter分布式測(cè)試的常見(jiàn)問(wèn)題和解決方法

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

原因:Jmeter4.0以上的版本,默認(rèn)啟用RMI連接的安全通信,需要?jiǎng)?chuàng)建密鑰庫(kù)。所以如果沒(méi)有創(chuàng)建密鑰庫(kù),就會(huì)出現(xiàn)這個(gè)錯(cuò)誤。

解決方法:

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

備注:將master和slave機(jī)器上的jmeter.properties文件 參數(shù)server.rmi.ssl.disable均改為true

其中l(wèi)inux上是用以下命令:vi jmeter.properties 使用/server.rmi.ssl.disable/進(jìn)行查找

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

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

原因:Jmeter默認(rèn)使用localhost作為RMI的主機(jī)名,但是localhost是一個(gè)回環(huán)地址,不能用于遠(yuǎn)程連接。

解決方法:

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

運(yùn)行./jmeter-server即可。

備注:Linux下后臺(tái)執(zhí)行,啟用server:nohup ./jmeter-server -Djava.rmi.server.hostname=192.16.. &

查看確定jmeter是否啟動(dòng)成功:ps axu | grep jmeter

問(wèn)題3:遠(yuǎn)程啟動(dòng)slave機(jī)器時(shí),如出現(xiàn)“Jmeter nested exception is:java.net.ConnectException connection timed out:connect ”錯(cuò)誤

原因:可能是由于以下幾種情況導(dǎo)致的:

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

解決方法:

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

注:centos7上關(guān)閉防火墻:  firewall-cmd --state   //查看防火墻狀態(tài):

systemctl stop firewalld.service //關(guān)閉防火墻

問(wèn)題4:當(dāng)設(shè)置csv文件路徑時(shí),如果路徑不對(duì),無(wú)響應(yīng)

原因:Jmeter在讀取csv文件時(shí),如果找不到文件,會(huì)一直等待,而不會(huì)報(bào)錯(cuò)。

解決方法:將csv文件以“相對(duì)路徑”命名,即將csv文件直接放入bin目錄下,在Jmeter路徑中直接寫(xiě)入文件名

問(wèn)題5:(Linux)默認(rèn)端看1099被占用,如何關(guān)閉某個(gè)被占用端口的方法

原因:Jmeter使用RMI進(jìn)行分布式測(cè)試時(shí),需要使用1099端口作為注冊(cè)端口,如果該端口被其他程序占用,就會(huì)導(dǎo)致無(wú)法啟動(dòng)jmeter-server或者無(wú)法連接slave。

解決方法:

查看當(dāng)前所有tcp端口,執(zhí)行命令:

netstat -ntlp

查看所有1099端口使用情況,執(zhí)行命令:

nestat -ntulp |grep 1099

查看占用1099端口的程序pid,執(zhí)行命令:

lsof -i:1099

kill掉該進(jìn)程,執(zhí)行命令:

kill -9 1109 //kill掉該進(jìn)程

問(wèn)題6:如果使用slave發(fā)送數(shù)據(jù)后,長(zhǎng)時(shí)間無(wú)響應(yīng)

原因:可能是由于以下幾種情況導(dǎo)致的:

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

解決方法:

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

問(wèn)題7:如果你的JMeter返回?cái)?shù)據(jù)是亂碼

原因:可能是由于JMeter的默認(rèn)編碼和服務(wù)器的編碼不一致,導(dǎo)致數(shù)據(jù)轉(zhuǎn)換出錯(cuò)。

解決方法:在JMeter安裝路徑的bin目錄下,打開(kāi)文件jmeter.properties,把Sampleresult.default.encoding的值改為 utf-8 即可。

問(wèn)題8:?jiǎn)?dòng)jmeter時(shí),報(bào)錯(cuò):Error occurred during initialization of VM Could not reserve enough space for object heap errorlevel=1

原因:可能是由于JMeter的默認(rèn)堆內(nèi)存大小不足以支持測(cè)試的負(fù)載,導(dǎo)致內(nèi)存溢出。

解決方法:

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

問(wèn)題9:當(dāng)jmeter用作數(shù)據(jù)庫(kù)API測(cè)試時(shí),如果數(shù)據(jù)庫(kù)接口中參數(shù)中傳遞一個(gè)數(shù)組,如getApps(int nu, int appID[ ]),實(shí)際使用過(guò)程中報(bào)語(yǔ)法錯(cuò)誤

原因:可能是由于JMeter的默認(rèn)參數(shù)分隔符是逗號(hào),而數(shù)組參數(shù)需要用分號(hào)分隔,導(dǎo)致語(yǔ)法錯(cuò)誤。

解決方法:在JMeter的數(shù)據(jù)庫(kù)連接配置中,將參數(shù)分隔符改為分號(hào)即可。

問(wèn)題10:當(dāng)jmeter在windows控制機(jī)中添加cvs文件參數(shù)化的時(shí)候,負(fù)載機(jī)沒(méi)有沒(méi)有文件的時(shí)候,遠(yuǎn)程啟動(dòng)后會(huì)執(zhí)行失敗。(即使cvs文件中的變量沒(méi)有被引用)

原因:可能是由于JMeter在遠(yuǎn)程啟動(dòng)時(shí),會(huì)先檢查參數(shù)文件的存在性,如果不存在,就會(huì)報(bào)錯(cuò)。

解決方法:在負(fù)載機(jī)上添加相同的參數(shù)文件,或者在控制機(jī)上刪除參數(shù)文件的引用。

責(zé)任編輯:趙寧寧 來(lái)源: 測(cè)試玩家勇哥
相關(guān)推薦

2012-11-15 15:18:08

MooseFS

2009-11-24 14:42:00

CCNP實(shí)驗(yàn)

2011-06-14 15:25:28

C++多線程

2020-05-15 15:38:54

綜合布線5G網(wǎng)絡(luò)

2010-06-21 14:39:56

光纖測(cè)試

2009-06-25 14:41:06

JavaBean

2009-06-11 17:52:08

JavaBean

2022-09-23 09:25:04

代碼方法

2011-05-26 11:22:04

SEO

2022-06-16 07:31:15

MySQL服務(wù)器服務(wù)

2011-05-04 18:14:48

2010-10-12 16:50:31

綜合布線

2022-01-17 09:18:28

JMeter分布式壓測(cè)

2022-07-18 08:58:29

CIO仆人式領(lǐng)導(dǎo)

2011-04-18 14:43:23

分布式測(cè)試分布式測(cè)試

2011-06-24 09:23:02

SEO

2009-07-22 17:47:21

Java語(yǔ)言常見(jiàn)字符串

2009-10-14 12:38:44

綜合布線系統(tǒng)測(cè)試

2009-12-15 17:47:17

VSIP

2023-03-08 08:16:26

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 一区二区三区中文字幕 | 伊色综合久久之综合久久 | 九九精品视频在线 | 久久国产精品99久久久久 | 99精品欧美一区二区三区 | 亚洲男人的天堂网站 | 精品国产一区二区在线 | 午夜精品影院 | 一区二区三区免费观看 | 国产aⅴ | 在线播放国产一区二区三区 | 免费在线观看一区二区 | 男人午夜视频 | 日本在线中文 | 国产传媒毛片精品视频第一次 | 91国内视频在线 | 伦理午夜电影免费观看 | 天天曰天天干 | 成人福利视频网站 | 久久日韩精品一区二区三区 | 欧美中文一区 | 性一区| 亚洲自拍一区在线观看 | 欧美成人一区二区三区片免费 | 狼人伊人影院 | 成人免费视频播放 | 激情欧美一区二区三区中文字幕 | 做a视频| 国产精品久久久久久久久久久久 | 欧美午夜视频 | 8x国产精品视频一区二区 | 中文在线日韩 | 特级a欧美做爰片毛片 | 你懂的国产 | 国产精品视频专区 | 国产成人免费视频网站高清观看视频 | 国产乱精品一区二区三区 | 亚洲va中文字幕 | 成人在线观看免费 | 国产精品免费一区二区三区 | 一级久久久久久 |