Comments (9)
Hi, can u help post the steps/env on how u make the evaluation?
Thanks!
from blockchain_guide.
software environment:
Ubuntu 14.04.5 x86-64
docker: 17.03.1-ce
fabric: 1.0-release
hardware environment
cpu: 4 core
memory: 8G
disk: 500G
OK, I follow the offical e2e demo deploy a fabric netwok. it has 2 org in the demo and include 2 ca, 1 order, 4 peers, 1 zookeeper, 1 kafa, 4 couchdbs and 1 cli .
because MVCC_READ_CONFICT error,I modify the offical chaincode example_cc.go, i add a set method, muti thread call set method will not trigger MVCC_READ_CONFICT error.
then I use fabric-sdk-java-1.0.0 send invoke transactions in muti threads to the fabric netwok.
100 threads everythings goes fine ,I got 10TPS reuslt . when on 1000 threads I got background error like below :
2017-08-01 16:41:02-[Eth] ERROR [pool-4-thread-377] Channel.sendTransaction(2172) | Channel mychannel unsuccessful sendTransaction to orderer
org.hyperledger.fabric.sdk.exception.TransactionException: Send transactions failed. Reason: timeout
at org.hyperledger.fabric.sdk.OrdererClient.sendTransaction(OrdererClient.java:163)
at org.hyperledger.fabric.sdk.Orderer.sendTransaction(Orderer.java:133)
at org.hyperledger.fabric.sdk.Channel.sendTransaction(Channel.java:2159)
at org.hyperledger.fabric.sdk.Channel.sendTransaction(Channel.java:2088)
at org.hyperledger.fabric.sdk.Channel.sendTransaction(Channel.java:2074)
at com.neusoft.fabric.junit.blo.ChainCodeService.invokeChainCode(ChainCodeService.java:163)
at com.neusoft.fabric.junit.testcase.SetMoneyCallable.invokeChainCode(SetMoneyCallable.java:93)
at com.neusoft.fabric.junit.testcase.SetMoneyCallable.call(SetMoneyCallable.java:60)
at com.neusoft.fabric.junit.testcase.SetMoneyCallable.call(SetMoneyCallable.java:1)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2017-08-01 16:41:02-[Eth] ERROR [pool-4-thread-377] SetMoneyCallable.invokeChainCode(101) | java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.Exception: Channel mychannel failed to place transaction 83b4d415f1590d1eb21a4e7644a748f659366208add5e58aa61129004c0b1739 on Orderer. Cause: UNSUCCESSFUL
docker-files.zip includes the detail of my testcase:
fabric-network:docker-files\linux-amd64\docker-compose-e2e.yaml
chaincode:docker-files\example_cc.go
testcase:docker-files\fabric-sdk-java-1.0.0\src\test\java\com\neusoft\fabric\junit\testcase
StepByStep.java createChannel,deployChaincode
PerformanceTestCase.java muti threads testCase
from blockchain_guide.
Is the cpu/mem high when u did the experiment?
I suspect u are running fabric and sdk at the same node, which will occupy too much memory.
from blockchain_guide.
I check the CUP/Memory cost, they are not high...when busy CPU: 80% of 1 core,Mem:60% of total.
[Eth] WARN [Timer-0] TaskMonitor$1.run(23) | startCount:500,runningCount:500,endorserFinishCount:66,finishCount:30,errorCount:0
2017-08-02 14:00:02-[Eth] WARN [Timer-0] TaskMonitor$1.run(23) | startCount:500,runningCount:500,endorserFinishCount:112,finishCount:86,errorCount:0
2017-08-02 14:00:07-[Eth] WARN [Timer-0] TaskMonitor$1.run(23) | startCount:500,runningCount:500,endorserFinishCount:182,finishCount:136,errorCount:0
2017-08-02 14:00:12-[Eth] WARN [Timer-0] TaskMonitor$1.run(23) | startCount:500,runningCount:500,endorserFinishCount:277,finishCount:186,errorCount:0
2017-08-02 14:00:17-[Eth] WARN [Timer-0] TaskMonitor$1.run(23) | startCount:500,runningCount:500,endorserFinishCount:408,finishCount:236,errorCount:0
2017-08-02 14:00:22-[Eth] WARN [Timer-0] TaskMonitor$1.run(23) | startCount:500,runningCount:500,endorserFinishCount:500,finishCount:296,errorCount:0
2017-08-02 14:00:27-[Eth] WARN [Timer-0] TaskMonitor$1.run(23) | startCount:500,runningCount:500,endorserFinishCount:500,finishCount:356,errorCount:0
2017-08-02 14:00:32-[Eth] WARN [Timer-0] TaskMonitor$1.run(23) | startCount:500,runningCount:500,endorserFinishCount:500,finishCount:416,errorCount:0
2017-08-02 14:00:37-[Eth] WARN [Timer-0] TaskMonitor$1.run(23) | startCount:500,runningCount:500,endorserFinishCount:500,finishCount:486,errorCount:0
2017-08-02 14:00:37-[Eth] INFO [main] PerformanceTestCase.invokeChaincode(153) | 交易执行完毕,用户数:500,耗时:45518 ms,平均耗时:24590 ms,最大耗时:45177 ms,最小耗时:2585 ms,TPS:10.98
from blockchain_guide.
endorser is fast, send to order is very slow
from blockchain_guide.
@yeasy 您之前测试过Fabric1.0的性能吗?是什么样的结果?当时的硬软件配置是什么样的?
from blockchain_guide.
Can u try the official tool? fabric/test/tools/PTE
.
There's some report with thousands of tps with concurrent config.
from blockchain_guide.
thank you for answer , I will try it later.
from blockchain_guide.
@yeasy can your share the report of PTE?
from blockchain_guide.
Related Issues (20)
- 没有找到论文《Polynomial Algorithms for Byzantine Agreement》 HOT 1
- 加个微信呗 HOT 2
- Add number prefix for each chapter folder
- 42页翻译用词问题 HOT 1
- Fabric在实际场景下部署在哪里? HOT 7
- Which license is used for this project? 项目许可协议咨询 HOT 1
- questions on proto HOT 1
- 错别字更正
- 对同一个身份enroll两次 HOT 1
- 错别字更正 HOT 1
- 网络 ID 和链 ID 混淆
- Any project for English translation ? HOT 4
- 章节缺失 HOT 5
- peer channel create error HOT 3
- 谢谢您的邮件,我已收到,我会尽快给您回复。 HOT 2
- Recovery seed HOT 2
- Drealmz HOT 2
- Translation to English Project HOT 1
- 5.1 2018 version of this book , page 133, 编译安装fabric-ca组件, at the end of command a dot was missed HOT 1
- 听说hyperleger又变成有币区块链了,是否又再一次hyperldger做结构大调整? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from blockchain_guide.