国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Socket協(xié)議的系統(tǒng)性能測試案例解析

2020-10-09 11:07鄭永剛

鄭永剛

摘要:本文選用Jmeter測試工具,對基于Socket通信協(xié)議的系統(tǒng)進行性能測試。主要針對測試腳本編寫的流程和注意事項進行說明,對分布式部署的流程進行整理,并對分布式測試過程中的注意事項進行總結(jié)??梢院芎玫刂笇?dǎo)初次使用用戶進行測試工作。

關(guān)鍵詞:Jmeter測試;分布式部署;Socket通信協(xié)議

中圖分類號:TP393.04 文獻標(biāo)識碼:A 文章編號:1007-9416(2020)08-0051-03

本文以8000用戶同時向物聯(lián)網(wǎng)平臺上傳燃氣表數(shù)據(jù)為例,對基于Socket通信協(xié)議的系統(tǒng)性能測試進行案例解析。在8000用戶中,4000用戶上告正常數(shù)據(jù),4000用戶上告異常數(shù)據(jù),數(shù)據(jù)同時上傳時,監(jiān)控服務(wù)器資源性能指標(biāo)。

本例選用Jmeter進行分布式部署對系統(tǒng)性能進行測試。Jmeter是一款完全免費的開源軟件,提供了方便的圖形界面來編輯和開發(fā)測試腳本,支持http、jdbc、ldap、soap、jms、ftp、Socket 等協(xié)議,通過線程組,能夠輕易的設(shè)置不同測試的并發(fā)用戶,可以輕易在Windows、Linux和Mac上運行,進行功能、性能和分布式測試。

1 單機腳本的調(diào)試

Jmeter不但可以測試HTTP/HTTPS的請求,還可以測試Socket協(xié)議的請求。對于HTTP/HTTPS的請求,可以通過Badboy或者Jmeter錄制,對于Socket協(xié)議的請求需要通過Jmeter錄制或手動編寫的方法完成腳本。本文使用的測試機為Win7系統(tǒng),Jmeter 5.0,JDK 1.8,錄制詳細部署環(huán)境如下:

(1)修改Jmeter的配置文件。

文件位置:D:\Jmeter\apache-jmeter-5.0\bin\ jmeter.properties[1]

修改TCP Sampler,如圖1即可。

(2)在Jmeter中新建TCP采樣器,如圖2所示。

(3)配置取樣器參數(shù),如圖3所示。

名稱:隨便寫;

TCPClient classname:處理二進制,和配置文件一致,BinaryTCPClientImpl;

服務(wù)器名稱或IP:要測試的ip地址;

端口號:服務(wù)器,要測試系統(tǒng)的端口;

End of Line:結(jié)束符,文本最后兩位十六進制數(shù)轉(zhuǎn)成十進制之后的數(shù)值,即結(jié)束碼的二進制數(shù)據(jù),例如字串結(jié)束符是16時,此處填寫22;

要發(fā)送的文本:直接復(fù)制要發(fā)送的二進制數(shù)。

(4)運行Jmeter,完成Socket測試。

2 分布式部署

當(dāng)Jmeter處理高并發(fā),一臺機器調(diào)用JVM不夠測試時,可以使用分布式的形式來進行分壓,分布式簡單的說就是由一臺控制機去啟動Jmeter配置相關(guān)參數(shù)后,通過JAVA的RMI(Remote Method Invocation)遠程到其他機器(執(zhí)行機)進行負載。分布式部署步驟如下:

(1)控制機和執(zhí)行機的Jmeter和JDK版本盡量保持一致,環(huán)境配置得配好(Jmeter 5.0,JDK 1.8);

(2)雙擊打開控制機中bin目錄下的create-rmi-keystore.bat,填寫完相關(guān)信息后,回車,會產(chǎn)生rmi_ keystore.jks文件,將此文件拷貝到執(zhí)行機的bin目錄下;

(3)找到執(zhí)行機中bin目錄下的jmeter.properties,打開jmeter.properties,對如下三處進行修改:

remote_hosts=192.168.1.10(本機IP)

server_port=1099(端口號)

server.rmi.ssl.disable=true(改false為true)

(4)雙擊啟動jmeter-server.bat ,啟動完后如圖4所示。

(5)回到控制機,找到j(luò)meter.properties,和執(zhí)行機類同,先改兩項:

server_port=1099(默認端口號)

server.rmi.ssl.disable=true(改false為true)

另外,remote_hosts=192.168.1.10:1099(執(zhí)行機器的ip:端口),若還有更多執(zhí)行機之間以英文逗號隔開。設(shè)置完之后找到j(luò)meter-server.bat雙擊打開。

(6)打開jmeter.bat已經(jīng)設(shè)定好的腳本:

假設(shè)設(shè)置的線程數(shù)是1,那么有N臺執(zhí)行機的話,實際并發(fā)數(shù)是N*1。

選擇遠程啟動單臺測試機,如圖5所示:(進行單個測試)

選擇遠程啟動所有測試機,如圖6所示:(所有機器一起啟動)

控制機顯示:

找到j(luò)meter.properties,取消mode=Standard 注釋后可在控制機看到響應(yīng)數(shù)據(jù)。

(7)此案例選用一臺控制機和四臺執(zhí)行機的部署,其中兩臺執(zhí)行機上告正常數(shù)據(jù),兩臺執(zhí)行機上告異常數(shù)據(jù)。

(8)注意事項:本文上傳的數(shù)據(jù)存放在csv文件中,應(yīng)在每臺測試機中存放相同的數(shù)據(jù),并和控制機中文件路徑保持一致。

本文使用Jmeter測試工具,選取基于Socket通信協(xié)議的物聯(lián)網(wǎng)管理平臺上傳數(shù)據(jù)作為性能測試點,對單機腳本調(diào)試和分布式部署的流程進行詳細說明,并對其中涉及到的注意事項進行總結(jié),能夠準(zhǔn)確可靠地測試系統(tǒng)的性能。

天等县| 武威市| 高邑县| 诸暨市| 白山市| 峨边| 德庆县| 崇明县| 平果县| 西乌珠穆沁旗| 苏州市| 墨竹工卡县| 广州市| 图木舒克市| 金川县| 宜兰市| 辽阳县| 内丘县| 当阳市| 德格县| 红河县| 台湾省| 山丹县| 岚皋县| 略阳县| 化隆| 博客| 古蔺县| 宁乡县| 永春县| 昭通市| 高青县| 双城市| 乌什县| 咸丰县| 邛崃市| 准格尔旗| 林芝县| 密云县| 来安县| 建湖县|