您好,登錄后才能下訂單哦!
小編給大家分享一下如何使用Hyperledger Caliper對(duì)包含多個(gè)排序節(jié)點(diǎn)的Fabric網(wǎng)絡(luò)進(jìn)行基準(zhǔn)測(cè)試,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
測(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
需要測(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ù)。
首先參考官方文檔在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):
查看虛擬機(jī)的內(nèi)部IP,確保虛擬機(jī)之間可以彼此通信。你可能需要配置防火墻規(guī)則以放行Caliper使用的某些端口,例如7050,7051,7054,8051,8054等。
我們使用Docker Swarm來(lái)管理容器。
首先在我們運(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。
將以下命令復(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/
在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
在編輯器里打開 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ī)名。
現(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è)資訊頻道,感謝各位的閱讀!
免責(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)容。