在线日韩女同,久久久久久久久久爽,欧美日高啪在线精视频,国产av美女被我操,玖玖视频在线观看免费,日韩乱人伦Av,九色高潮视频在线播放,青青re在线视频,大鸡巴在线视频网

五分鐘技術趣談 | 物聯(lián)網(wǎng)平臺Modbus協(xié)議采樣命令下發(fā)并發(fā)性能測試方法
作者 | 移動Labs2023-02-09

Modbus是一種串行通信協(xié)議,是Modicon公司(現(xiàn)在的施耐德電氣 Schneider Electric)于1979年為使用可編程邏輯控制器(PLC)通信而發(fā)表。Modbus已經(jīng)成為工業(yè)領域通信協(xié)議的業(yè)界標準(De facto),并且現(xiàn)在是工業(yè)電子設備之間常用的連接方式。

采樣命令

Modbus協(xié)議同樣也是物聯(lián)網(wǎng)平臺的流行協(xié)議之一,采樣命令作為Modbus協(xié)議的主要功能,其主要流程是設備在平臺設置周期采樣命令,平臺會周期性主動對在線設備下發(fā)采樣命令。

我們在為雄安建設物聯(lián)網(wǎng)平臺時,正好平臺就有Modbus的能力,平臺交付就必須要測試Modbus的采樣命令并發(fā)。

物聯(lián)網(wǎng)平臺Modbus協(xié)議采樣命令下發(fā)流程如下:

創(chuàng)建設備,在平臺給設備設置采樣命令:采樣周期、功能編號、從機地址、數(shù)據(jù)長度等信息。

設備上線后,平臺按照采樣周期對設備進行周期性發(fā)送采樣命令。

設備收到采樣命令后將寄存器數(shù)據(jù)返回結果給平臺,并保存采樣數(shù)據(jù)。

通常情況下我們做性能測試都是客戶端發(fā)起請求服務的響應客戶端,而Modbus的采樣命令恰好相反,以往我們常用的性能測試工具就不可行了。

要如何才能測試服務的采樣命令的并發(fā)呢?

測試方法

為了測試物聯(lián)網(wǎng)平臺Modbus協(xié)議采樣命令并發(fā)性能,我們研究出了一種高并發(fā)的采樣命令并發(fā)性能測試方法。該方法采用異步IO的方式批量模擬設備連接服務器、接收采樣命令并響應命令,并統(tǒng)計每秒接收的命令數(shù)量。技術實現(xiàn)細節(jié)如下:

1、通過API批量創(chuàng)建Modbus設備,并給每個設備創(chuàng)建n個采樣命令。即無需提前創(chuàng)建設備和設備的采樣命令;

2、批量初始化設備的socket連接,socket設置為非阻塞,生成socket列表。采用異步IO,減少多線程線程切換帶來的資源消耗,提升CPU利用率;

3、同時啟動以下三個線程:

①批量設備注冊線程:批量上報注冊報文,設備注冊完成后線程退出;

②采樣命令條數(shù)統(tǒng)計線程:所有設備注冊成功后,每秒統(tǒng)計一次最近1秒內收到采樣命令條數(shù);

③采樣命令接收處理線程:采用select批量管理設備socket列表,接收并立即響應采樣命令,并實時記錄采樣命令條數(shù)。select模型為非阻塞式IO,能夠一定程度上減少服務器瞬間的并發(fā)線程數(shù),從而提高CPU執(zhí)行效率;

Python代碼示例(片段)

Python代碼示例(片段)

4、根據(jù)運行設備數(shù)量以及平均每秒接收到采樣命令數(shù)量來判斷平臺是否滿足當前的采樣命令的處理性能。性能滿足的條件下預期結果為

預期每秒命令接收數(shù)量 ≈ 設備數(shù)量 * n

逐步增加設備數(shù)量,當預期每秒命令接收數(shù)量 > 設備數(shù)量 * n時,即服務已達到瓶頸。則最終測試服務的采樣命令最大并發(fā)量為,滿足預期結果時的設備最大接入量 * n。

測試流程圖

該測試方法優(yōu)點:

1、無需單獨添加創(chuàng)建設備和設備的采樣命令,簡化了Modbus協(xié)議采樣命令性能測試的準備工作;

2、在設備端統(tǒng)計并發(fā)量,無需在服務端增加任何統(tǒng)計邏輯;

3、采用模擬設備,無需準備大量真實設備,降低了Modbus協(xié)議采樣命令性能測試的成本;

4、通過非阻塞式IO,顯著提升Modbus協(xié)議采樣命令并發(fā)性能測試的設備響應速度,解決Modbus協(xié)議采樣命令并發(fā)性能測試高并發(fā)狀態(tài)下的資源浪費問題;

5、設備響應速度的提升,有效提高Modbus協(xié)議采樣命令并發(fā)性能測試的準確度。

我們采用此種方法編寫的Python代碼,單個腳本可以支撐1秒內1萬+次的命令處理能力。在雄安物聯(lián)網(wǎng)平臺的性能測試中起到了非常好的作用,同時運行10個腳本,完成了雄安平臺Modbus協(xié)議采樣命令10萬并發(fā)的測試。

熱門文章
2022年,長武縣農業(yè)農村局依托省級現(xiàn)代農業(yè)產業(yè)園創(chuàng)建,與西安電子科技大學合作實施數(shù)字農業(yè)項目已建成投入應用...
2023-02-09
X
保山市| 静海县| 香河县| 湘乡市| 乌鲁木齐县| 宣汉县| 泗阳县| 仁寿县| 周至县| 赤峰市| 读书| 呼图壁县| 镇雄县| 抚顺市| 闸北区| 本溪| 博兴县| 龙川县| 石屏县| 固镇县| 佛山市| 武冈市| 黑龙江省| 老河口市| 东明县| 泗洪县| 元阳县| 闽侯县| 波密县| 肃宁县| 白水县| 枣强县| 浏阳市| 佳木斯市| 长岛县| 河间市| 布拖县| 弥渡县| 古浪县| 韩城市| 沙雅县|