溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用Hyperledger Caliper對(duì)包含多個(gè)排序節(jié)點(diǎn)的Fabric網(wǎng)絡(luò)進(jìn)行基準(zhǔn)測(cè)試

發(fā)布時(shí)間:2021-12-06 14:19:51 來(lái)源:億速云 閱讀:325 作者:小新 欄目:互聯(lián)網(wǎng)科技

小編給大家分享一下如何使用Hyperledger Caliper對(duì)包含多個(gè)排序節(jié)點(diǎn)的Fabric網(wǎng)絡(luò)進(jìn)行基準(zhǔn)測(cè)試,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

1、待測(cè)Fabric網(wǎng)絡(luò)的基本配置

測(cè)試環(huán)境使用3臺(tái)虛擬機(jī),配置如下:

  • Google cloud VM instance (n1-standard-4)

  • 4 vCPUs, 15 GB memory

  • Ubuntu 18.04.2 LTS

每臺(tái)虛擬機(jī)需要提前安裝以下軟件:

  • Docker version 18.09.8, build 0dd43dd87f or above

  • docker-compose version 1.17.1 or above

  • Node.js v8.16.0

  • NPM 6.4.1

2、待測(cè)Fabric網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)

需要測(cè)試的Hyperledger Fabric網(wǎng)絡(luò)中包含3個(gè)參與機(jī)構(gòu),共3個(gè)排序節(jié)點(diǎn)采用Raft共識(shí)算法, 每個(gè)機(jī)構(gòu)提供1個(gè)排序節(jié)點(diǎn)和1個(gè)對(duì)等節(jié)點(diǎn),對(duì)等節(jié)點(diǎn)使用GoLevelDB作為狀態(tài)數(shù)據(jù)庫(kù)。

3、安裝Hyperledger Caliper

首先參考官方文檔在HOST1上安裝Hyperledger Caliper。

然后在單機(jī)模式下運(yùn)行基準(zhǔn)測(cè)試以確認(rèn)Hyperledger Caliper安裝正確。

在所有參與Fabric網(wǎng)絡(luò)的虛擬機(jī)上克隆Hyperledger Caliper軟件倉(cāng)庫(kù),或者創(chuàng)建HOST1的鏡像。

在所有虛擬機(jī)上將本文提供的測(cè)試網(wǎng)絡(luò)配置文件 克隆到本地以下目錄:

~/caliper/packages/caliper-samples/network/fabric-v1.4.1/swarm-3org1peer-raft

現(xiàn)在,我們已經(jīng)準(zhǔn)備好了進(jìn)行Hyperledger Caliper基準(zhǔn)測(cè)試的Fabric網(wǎng)絡(luò)環(huán)境。下圖展示了本文 示例基準(zhǔn)測(cè)試的架構(gòu)(Fabric version 1.4.1, 3org1peergoleveldb, Fabric-CCP adaptor):

如何使用Hyperledger Caliper對(duì)包含多個(gè)排序節(jié)點(diǎn)的Fabric網(wǎng)絡(luò)進(jìn)行基準(zhǔn)測(cè)試

查看虛擬機(jī)的內(nèi)部IP,確保虛擬機(jī)之間可以彼此通信。你可能需要配置防火墻規(guī)則以放行Caliper使用的某些端口,例如7050,7051,7054,8051,8054等。

4、運(yùn)行Caliper基準(zhǔn)測(cè)試

我們使用Docker Swarm來(lái)管理容器。

4.1 創(chuàng)建Docker Swarm

首先在我們運(yùn)行基準(zhǔn)Caliper測(cè)試的虛擬機(jī)上創(chuàng)建一個(gè)Docker Swarm。如果你的所有主機(jī)在同一個(gè)網(wǎng)段,你也可以使用主機(jī)的內(nèi)部IP。

$ docker swarm init --listen-addr HOST1-REACHABLE-PUBLIC-IP:2377

注意:在上面的命令中,需要將IP換成你自己的IP。

運(yùn)行上述命令后應(yīng)當(dāng)可以看到如下輸出顯示:

# To add a worker to this swarm, run the following command:
#    docker swarm join --token xxxxxxxxxxxxx IP:2377

這意味著你的Host1已經(jīng)作為管理者加入了Swarm。

4.2 將其他節(jié)點(diǎn)加入Swarm集群

將以下命令復(fù)制到其他主機(jī)并執(zhí)行:

docker swarm join --token xxxxxxxxxxxxx IP:2377

上述命令執(zhí)行后將輸入如下內(nèi)容,表示該主機(jī)已經(jīng)加入Swarm集群:

# This node joined a swarm as a worker.

在所有需要運(yùn)行Caliper基準(zhǔn)測(cè)試的機(jī)器上運(yùn)行上述命令以加入Swarm集群。

注意:所有參與Hyperledger Caliper基準(zhǔn)測(cè)試的主機(jī)上,Caliper倉(cāng)庫(kù)的目錄都應(yīng)該和HOST1上的一致,因?yàn)橄到y(tǒng)需要在此路徑定位密碼學(xué)材料。例如:

#home/HOST1/caliper/packages/caliper-samples/network/fabric-v1.4.1/swarm-3org1peer-raft/
#home/HOST2/caliper/packages/caliper-samples/network/fabric-v1.4.1/swarm-3org1peer-raft/
#home/HOST3/caliper/packages/caliper-samples/network/fabric-v1.4.1/swarm-3org1peer-raft/

4.3 檢查Docker Swarm狀態(tài)

在HOST1上運(yùn)行以下命令查看Swarm集群中的主機(jī)清單:

$ docker node ls

結(jié)果如下:

ID        HOSTNAME         STATUS   AVAILABILITY     MANAGER STATUS 
xxx *   caliper-latest      Ready     Active             Leader   
xxx     caliper-latest2     Ready     Active
xxx     caliper-latest3     Ready     Active

4.4 將Fabric服務(wù)容器分配到主機(jī)

在編輯器里打開 docker-swarm-compose-tls.yaml文件,該文件中Services下定義了Peer/Order/CA容器。在Service定義的末尾部分可以找到容器部署的細(xì)節(jié):

deploy:
    placement:
        constraints: [node.hostname ==  YOUR-HOSTNAME]

YOUR-HOSTNAME修改為你希望該服務(wù)部署的目標(biāo)主機(jī)名。

4.5、運(yùn)行Hyperledger Caliper基準(zhǔn)測(cè)試

現(xiàn)在在HOST1的Caliper目錄下運(yùn)行如下命令啟動(dòng)基準(zhǔn)測(cè)試:

$ caliper benchmark run -w ./packages/caliper-samples \
          -c benchmark/simple/config.yaml \
          -n network/fabric-v1.4.1/swarm-3org1peer-raft/fabric-ccp-go-tls.yaml

看完了這篇文章,相信你對(duì)“如何使用Hyperledger Caliper對(duì)包含多個(gè)排序節(jié)點(diǎn)的Fabric網(wǎng)絡(luò)進(jìn)行基準(zhǔn)測(cè)試”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI