RD Newbie Guide
  • 專案介紹
  • WISE-PaaS
  • WISE-PaaS DataHub
  • WISE-PaaS Notification
  • EdgeX
  • Notification API 開發入門
  • 開發環境
    • Golang
    • Docker
    • Node simulator manual
    • Node simulator
    • Node.js
    • kubernetes
    • 如何在helm chart加上環境變數
    • 如何Release Datahub
    • 如何Release Notification
    • 手動佈署已release之版本
    • [開發階段使用] datahub k8s deploy
    • [開發階段使用] notification k8s deploy
    • Publish maven project to JCenter
    • WISE-PaaS 4.0 平台應用相關資源
  • 相關資源
  • Kafka
    • Kafka開發日誌
    • Kafka參數筆記
    • Kafka Deploy
    • Kafka Performance Test
      • Kafka Test 1 - 多client對於broker的影響
      • Kafka Test 2 - Broker資源對於Client Throughput的影響
      • Kafka Test 3 - multi topic (每個topic負責1個Producer和1個Consumer)
      • Kafka Test 4 - 限流機制實測 (Quotas)
      • Kafka Test 5 - User數量上限
      • Kafka Test 6 - 穩定度測試(長時間)
      • Kafka Test 7 - v-1.0.0測試
    • 在BM站點啟動多個LB Broker並搭配域名
  • CI/CD
    • k8s FAQ
Powered by GitBook
On this page
  • Build image & deploy步驟
  • 連進node-simulator pod進行壓測使用說明

Was this helpful?

  1. 開發環境

Node simulator

將node simulator build成image部屬至k8s環境上,提供壓力測試時使用

PreviousNode simulator manualNextNode.js

Last updated 4 years ago

Was this helpful?

Build image & deploy步驟

  • 在55/57環境上,先將WISEPaaS.DataHub.Nodejs.EdgeSimulator專案clone下來,並切換至simulator-1.0.1 branch

sudo git clone https://gitlab.wise-paas.com/DataHub/WISEPaaS.DataHub.Nodejs.EdgeSimulator.git
sudo git checkout simulator-1.0.1
  • 在WISEPaaS.DataHub.Nodejs.EdgeSimulator資料夾下,clone WISEPaaS.DataHub.Edge.Nodejs.SDK,並切換至simulator-1.0.1 branch

sudo git clone https://gitlab.wise-paas.com/DataHub/WISEPaaS.DataHub.Edge.Nodejs.SDK.git
sudo git checkout simulator-1.0.1
  • package.json我已經預設為:"wisepaas-scada-edge-nodejs-sdk": "file:WISEPaaS.DataHub.Edge.Nodejs.SDK"

  • 執行以下指令,build image & push to habor

flag="harbor.arfa.wise-paas.com/datahub-dev/datahub-performer:1.0.0" \
&& sudo docker build -t=$flag --no-cache=true -f="./dockerfile" . \
&& sudo docker push $flag
  • 在本機端註冊helm repo,可以參考datahub k8s deploy註冊的方式

  • 將WISEPaaS.DataHub.Nodejs.EdgeSimulator clone下來,使用專案目錄下的charts資料夾中的chart進行helm chart部屬

  • 配置helm chart中的values.yaml,會需要修改的參數只有以下這幾個

  • 修改玩values.yaml檔後,在Wise-Paas\WISEPaaS.SCADA.Nodejs.EdgeSimulator目錄下執行

helm install node-simulator ./charts

*helm install [欲部屬的deploy名稱] [charts資料夾與現在路徑的相對路徑]

連進node-simulator pod進行壓測使用說明

  • 使用kubectl get pod指令取得部屬的pod list,找到node-simulator部屬的pod name,範例如下

  • 在command line下kubectl exec -it [pod name] /bin/bash指令如下,就可以連進去node-simulator的container內部

kubectl exec -it node-simulator-5bbd946bb7-kc68l /bin/bash
  • 連進container後,在command line下ls指令,可以看到下圖中node-simulator的目錄結構

ls
  • 接著對setting.json進行配置,利用setting.sh用指令的方式幫你修改setting.json的內容,setting.sh的指令參數如下

//以下參數對應setting.json中的參數
host="" //對應mqttHost
port=1883 //對應mqttPort
username="" //對應mqttUserName
password="" //對應mqttPassword
scadaNums=1 //對應scadaNumbers
deviceNums=1 //對應deviceNumbers
tagNums=75 //對應tagNumbers
timeInterval=1000 //對應publishIntervalTime
exeTime=86400 //對應exectionTime,若為0則不停止
useSame=false //對應isUseSame
  • 指令格式: ./setting.sh paramName1=value1 paramName2=value2 paramName3=value3 ... *可以任選上面的參數填入想修改的值,(意思是可以全部都填,也可以選擇想改的參數填入就好),以下兩種範例都舉例

./setting.sh host="rabbitmq-001-pub.sa.wise-paas.com" port=1883 username="03bdd820-4d47-40a2-9aff-85613c201b58:61734256-adfet-477f-9b3f-fswerwerad" password="aqetdfhwehqwthlqw" scadaNums=100 deviceNums=1 tagNums=1000 timeInterval=1000 useSame=false
./setting.sh host="rabbitmq-001-pub.sa.wise-paas.com" scadaNums=100 deviceNums=10
  • 執行完畢後會顯示修改的內容,如下圖

  • 若修改正確執行node index.js啟動模擬,若修改不正確回上一步重新執行修改

node index.js //執行模擬

點此連結