用Caliper做Hyperledger Fabric性能測試

目錄

Caliper性能很差麼?

Client可以無限增加麼?

Calliper的rate?

補充一個結論


最近用Caliper測試了以下Hpyerledger Fabric的性能,測試環境用本地的byfn腳本

作爲飯後閒談,這裏我們並不去探究如何提高tps,以及代碼的角度爲什麼會有這樣的區別。

話不多說,代碼:

https://github.com/SamYuan1990/FabriccaliperSample

Caliper性能很差麼?

從觀察到的結果來看,

如果我們僅僅用一個client發起交易的tx,那麼其性能相對於https://github.com/guoger/stupid.git 直接通過GRPC發起請求的對比來看會低,

那麼,真的是caliper用nodejs,以及fabric nodejs sdk的性能很低麼?

我們增加client的數量,可以看到Caliper也可以達到200TPS的。

Item TPS
Caliper 1 client 56.6
stupid

231

Caliper 10 client 194.3

Client可以無限增加麼?

我們把client增加到多個看一下結果

Item TPS
Caliper 10 client 194.3
Caliper 15 client

191.4

Caliper 20 client 176.8
Caliper 30 client 130.1

我們可以看到隨着client的增加,tps並不是無限增高的,Avg Latency不斷提高。https://github.com/SamYuan1990/FabriccaliperSample/blob/master/result.md

 

Calliper的rate?

目前我們都是用的fixed-rate, 那麼fixed-feedback-rate,fixed-backlog中unfinished_per_client的選項呢?

從試驗結果來看,個人感覺是unfinished_per_client是對於性能測試進行微調。正如https://hyperledger.github.io/caliper/vLatest/rate-controllers/中描述的那樣

“100 unfinished transactions for each client”

允許每個client有多少個未完成的請求的樣子。如果這個值小於send rate,那麼發送的tps就會低於send rate。如果大於等於,那麼這裏tps就會略高於未設置的fixed-rate。

 

補充一個結論

使用cliaper做性能測試時,需要根據測試結果,謹慎的優化測試方案。來得到相對好的性能。

 

Hyperledger Fabric性能測試相關文章總結(個人向)

https://blog.csdn.net/oe1019/article/details/106445904

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章