Performance Measurements
Bishop Brock <bcbrock@...>
All, |
|
Bishop,
thanks for that, this is really useful. Actually, my impression is that a number of people seem to work in parallel on making fabric performance (aspects) measurable. We know of at least the following. There may be overlaps in people/scope/etc. My (not necessarily right) comments in parentheses. - There's busywork (Vagrant, single VM(?) stress testing tool): https://github.com/hyperledger/fabric/tree/master/tools/busywork - The page you linked (using Go profiling facilities, so no separation of logical peer activities out of the box?): https://github.com/hyperledger/fabric/wiki/Go-Performance-Portal - Spinning up Hyperledger on multiple VMs in public clouds, notably EC2 with Apache Brooklyn (really nice idea, but Brooklyn was just too clunky for us right now): https://github.com/cloudsoft/brooklyn-hyperledger - There seems to be some very interesting work being done on "proper" instrumentation (we are just looking into this): https://github.com/hyperledger/fabric/pull/1363 - I don't know what this is, but it exists: https://github.com/redhat-performance/hyperledger-performance There may be more. What I'm getting to with this is a question to those who are more immersed in the project than us. Admittedly I don't follow the TC list/Slack and don't know the project structure (yet), but is anybody coordinating, or tracking these? Or is there a website collecting all things Hyperledger performance that I don't know of? What should I do to stay up to date on these aspects? It would be nice not to reinvent (better put, reimplement) the wheel too many times :) Thanks, Imre --------------------------------------------------------------------------- Imre Kocsis assistant lecturer Fault Tolerant Systems Research Group Department of Measurement and Information Systems Budapest University of Technology and Economics mail: ikocsis@... phone: +36-1-463-2006 mobile: +36-20-514-6881 skype: kocsis_imre From: "Bishop Brock" <bcbrock@...> To: hyperledger-fabric@... Date: 06/06/2016 03:33 PM Subject: [Hyperledger-fabric] Performance Measurements Sent by: hyperledger-fabric-bounces@... All, I created this Wiki page is for links, articles, tips and tricks related to performance characterization, limitations and improvements for the Hyperledger Fabric and Go-language chaincodes. https://github.com/hyperledger/fabric/wiki/Go-Performance-Portal Bishop Bishop Brock : Research Staff Member : IBM Master Inventor IBM Research : +1 (512) 286-5453 [Office] : +1 (512) 568-9467 [Mobile] http://researcher.ibm.com/researcher/view.php?person=us-bcbrock_______________________________________________ Hyperledger-fabric mailing list Hyperledger-fabric@... https://lists.hyperledger.org/mailman/listinfo/hyperledger-fabric |
|
"wz <wangzuo.nj@...>
Bishop, I got errors when ran performance test with busywork. are you the right guy I can ask for help? vagrant@ubuntu-1404:/opt/gopath/src/github.com/hyperledger/fabric/tools/busywork/counters$ make stress2s network: ../bin/userModeNetwork -sieve 4 network: Creating a pristine environment network: Killing all peer and membersrvc processes network: Killing all running and stopped Docker containers network: Removing all chaincode containers network: Cleaning out BUSYWORK_HOME network: Cleaning out /var/hyperledger network: Running with PBFT Sieve consensus network: Network Port and PID Map: network: ------------------------------------------------------------ network: PeerID | gRPC | REST | Events | CLI | Profile | PID network: ------------------------------------------------------------ network: vp0 | 60046 | 54428 | 48493 | 38378 | 55846 | 28822 network: vp1 | 41412 | 50928 | 48188 | 33197 | 46218 | 28826 network: vp2 | 53757 | 59039 | 41186 | 58337 | 58384 | 28830 network: vp3 | 33583 | 34680 | 35879 | 58433 | 50354 | 28834 network: ------------------------------------------------------------ network: Waiting for peers to start network: Network is up driver: ./driver -transactions 10000 -peerBurst 100 -interlock -keepLog -checkAgreement -dupCheck driver: List of targeted peers with REST API ports driver: 0.0.0.0:54428 driver: 0.0.0.0:50928 driver: 0.0.0.0:59039 driver: 0.0.0.0:34680 driver: 1 chaincode(s) will be deployed driver: 1 array(s) will be defined per chaincode driver: 1 clients will be activated driver: 10000 transaction(s) will be issued to each array driver: 10000 total transaction(s) will be issued driver: busywork::Logger : Logging to /home/vagrant/.busywork/fabricLog driver: The log file will persist after exit driver: Security is disabled driver: Deploying chaincode(s) driver: Deployed cc0 as e6b9c9b0d52c1f6e5330b6b3c54d3157eb10f94e719b07477eb42ee867c2a8441cfc3561c194c7d91715f8e5676823246e3183e2883ef02fd083b6242c0400bf driver: Waiting up to 5m for chaincode deployments to be registered fabricLogger:ERROR: REST API call to 0.0.0.0:34680 for block 1 failed with 0 retries fabricLogger:ERROR: Full HTTP token dump fabricLogger:ERROR: HTTP 'ncode' = '' fabricLogger:ERROR: sock sock7980310 fabricLogger:ERROR: http fabricLogger:ERROR: querylength 0 fabricLogger:ERROR: -queryblocksize 8192 fabricLogger:ERROR: state connecting fabricLogger:ERROR: charset iso8859-1 fabricLogger:ERROR: type text/html fabricLogger:ERROR: -binary false fabricLogger:ERROR: url http://0.0.0.0:34680/chain/blocks/1 fabricLogger:ERROR: -keepalive 0 fabricLogger:ERROR: -timeout 0 fabricLogger:ERROR: socketinfo 0.0.0.0:34680 fabricLogger:ERROR: queryoffset 0 fabricLogger:ERROR: binary 0 fabricLogger:ERROR: -strict 1 fabricLogger:ERROR: totalsize 0 fabricLogger:ERROR: -validate 0 fabricLogger:ERROR: -protocol 1.1 fabricLogger:ERROR: connection close fabricLogger:ERROR: -queryprogress fabricLogger:ERROR: -headers fabricLogger:ERROR: -blocksize 8192 fabricLogger:ERROR: coding fabricLogger:ERROR: status ok fabricLogger:ERROR: body fabricLogger:ERROR: currentsize 0 fabricLogger:ERROR: meta fabricLogger:ERROR: -type application/x-www-form-urlencoded fabricLogger:ERROR: Aborting status:ERROR: vp1 28826 : Process not found, assumed dead status:ERROR: vp2 28830 : Process not found, assumed dead status:ERROR: vp3 28834 : Process not found, assumed dead status:ERROR: Aborting due to errors ------------------ Best Regards, Zuo ------------------ Original ------------------ From: "ikocsis";<ikocsis@...>; Date: Jun 6, 2016 To: "Bishop Brock"<bcbrock@...>; Cc: "hyperledger-fabric"<hyperledger-fabric@...>; Subject: Re: [Hyperledger-fabric] Performance Measurements thanks for that, this is really useful. Actually, my impression is that a number of people seem to work in parallel on making fabric performance (aspects) measurable. We know of at least the following. There may be overlaps in people/scope/etc. My (not necessarily right) comments in parentheses. - There's busywork (Vagrant, single VM(?) stress testing tool): https://github.com/hyperledger/fabric/tree/master/tools/busywork - The page you linked (using Go profiling facilities, so no separation of logical peer activities out of the box?): https://github.com/hyperledger/fabric/wiki/Go-Performance-Portal - Spinning up Hyperledger on multiple VMs in public clouds, notably EC2 with Apache Brooklyn (really nice idea, but Brooklyn was just too clunky for us right now): https://github.com/cloudsoft/brooklyn-hyperledger - There seems to be some very interesting work being done on "proper" instrumentation (we are just looking into this): https://github.com/hyperledger/fabric/pull/1363 - I don't know what this is, but it exists: https://github.com/redhat-performance/hyperledger-performance There may be more. What I'm getting to with this is a question to those who are more immersed in the project than us. Admittedly I don't follow the TC list/Slack and don't know the project structure (yet), but is anybody coordinating, or tracking these? Or is there a website collecting all things Hyperledger performance that I don't know of? What should I do to stay up to date on these aspects? It would be nice not to reinvent (better put, reimplement) the wheel too many times :) Thanks, Imre --------------------------------------------------------------------------- Imre Kocsis assistant lecturer Fault Tolerant Systems Research Group Department of Measurement and Information Systems Budapest University of Technology and Economics mail: ikocsis@... phone: +36-1-463-2006 mobile: +36-20-514-6881 skype: kocsis_imre From: "Bishop Brock" <bcbrock@...> To: hyperledger-fabric@... Date: 06/06/2016 03:33 PM Subject: [Hyperledger-fabric] Performance Measurements Sent by: hyperledger-fabric-bounces@... All, I created this Wiki page is for links, articles, tips and tricks related to performance characterization, limitations and improvements for the Hyperledger Fabric and Go-language chaincodes. https://github.com/hyperledger/fabric/wiki/Go-Performance-Portal Bishop Bishop Brock : Research Staff Member : IBM Master Inventor IBM Research : +1 (512) 286-5453 [Office] : +1 (512) 568-9467 [Mobile] http://researcher.ibm.com/researcher/view.php?person=us-bcbrock_______________________________________________ Hyperledger-fabric mailing list Hyperledger-fabric@... https://lists.hyperledger.org/mailman/listinfo/hyperledger-fabric |
|
Bishop Brock <bcbrock@...>
Hi Zuo, Bishop, I got errors when ran performance test with busywork. are you the right guy I can ask for help? vagrant@ubuntu-1404:/opt/gopath/src/github.com/hyperledger/fabric/tools/busywork/counters$ make stress2s network: ../bin/userModeNetwork -sieve 4 network: Creating a pristine environment network: Killing all peer and membersrvc processes network: Killing all running and stopped Docker containers network: Removing all chaincode containers network: Cleaning out BUSYWORK_HOME network: Cleaning out /var/hyperledger network: Running with PBFT Sieve consensus network: Network Port and PID Map: network: ------------------------------------------------------------ network: PeerID | gRPC | REST | Events | CLI | Profile | PID network: ------------------------------------------------------------ network: vp0 | 60046 | 54428 | 48493 | 38378 | 55846 | 28822 network: vp1 | 41412 | 50928 | 48188 | 33197 | 46218 | 28826 network: vp2 | 53757 | 59039 | 41186 | 58337 | 58384 | 28830 network: vp3 | 33583 | 34680 | 35879 | 58433 | 50354 | 28834 network: ------------------------------------------------------------ network: Waiting for peers to start network: Network is up driver: ./driver -transactions 10000 -peerBurst 100 -interlock -keepLog -checkAgreement -dupCheck driver: List of targeted peers with REST API ports driver: 0.0.0.0:54428 driver: 0.0.0.0:50928 driver: 0.0.0.0:59039 driver: 0.0.0.0:34680 driver: 1 chaincode(s) will be deployed driver: 1 array(s) will be defined per chaincode driver: 1 clients will be activated driver: 10000 transaction(s) will be issued to each array driver: 10000 total transaction(s) will be issued driver: busywork::Logger : Logging to /home/vagrant/.busywork/fabricLog driver: The log file will persist after exit driver: Security is disabled driver: Deploying chaincode(s) driver: Deployed cc0 as e6b9c9b0d52c1f6e5330b6b3c54d3157eb10f94e719b07477eb42ee867c2a8441cfc3561c194c7d91715f8e5676823246e3183e2883ef02fd083b6242c0400bf driver: Waiting up to 5m for chaincode deployments to be registered fabricLogger:ERROR: REST API call to 0.0.0.0:34680 for block 1 failed with 0 retries fabricLogger:ERROR: Full HTTP token dump fabricLogger:ERROR: HTTP 'ncode' = '' fabricLogger:ERROR: sock sock7980310 fabricLogger:ERROR: http fabricLogger:ERROR: querylength 0 fabricLogger:ERROR: -queryblocksize 8192 fabricLogger:ERROR: state connecting fabricLogger:ERROR: charset iso8859-1 fabricLogger:ERROR: type text/html fabricLogger:ERROR: -binary false fabricLogger:ERROR: url http://0.0.0.0:34680/chain/blocks/1 fabricLogger:ERROR: -keepalive 0 fabricLogger:ERROR: -timeout 0 fabricLogger:ERROR: socketinfo 0.0.0.0:34680 fabricLogger:ERROR: queryoffset 0 fabricLogger:ERROR: binary 0 fabricLogger:ERROR: -strict 1 fabricLogger:ERROR: totalsize 0 fabricLogger:ERROR: -validate 0 fabricLogger:ERROR: -protocol 1.1 fabricLogger:ERROR: connection close fabricLogger:ERROR: -queryprogress fabricLogger:ERROR: -headers fabricLogger:ERROR: -blocksize 8192 fabricLogger:ERROR: coding fabricLogger:ERROR: status ok fabricLogger:ERROR: body fabricLogger:ERROR: currentsize 0 fabricLogger:ERROR: meta fabricLogger:ERROR: -type application/x-www-form-urlencoded fabricLogger:ERROR: Aborting status:ERROR: vp1 28826 : Process not found, assumed dead status:ERROR: vp2 28830 : Process not found, assumed dead status:ERROR: vp3 28834 : Process not found, assumed dead status:ERROR: Aborting due to errors ------------------ Best Regards, Zuo |
|
Tamas Blummer <tamas@...>
Judging on our own tests and outstanding BFT related github issues, the current BFT implementation in fabric is simply not working.
This message, and any attachments, is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.digitalasset. |
|
Marko Vukolic <MVU@...>
A few seemingly critical, and currently open github issues - have turned out to be operator errors.
So pls be more concrete and point to concrete issues that you were able to reproduce. If you have new issues - a very useful thing to do is to submit them together with full logs.
thanks
Marko
----- Original message ----- |
|
Tamas Blummer <tamas@...>
https://github.com/hyperledger/fabric/issues/1741
toggle quoted message
Show quoted text
Tamas Blummer CHIEF LEDGER ARCHITECT Digital Asset T: +36 1 883 0300 E: tamas@... W: digitalasset.com On 08 Jun 2016, at 09:59, Marko Vukolic <MVU@...> wrote: --
This message, and any attachments, is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.digitalasset.com/emaildisclaimer.html. If you are not the intended recipient, please delete this message. |
|
Marko Vukolic <MVU@...>
For the record, and to reinforce the confidence of the community in the HL fabric PBFT implementation - #1741 is also not a PBFT issue
Cheers, Marko ----- Original message ----- |
|
Tamas Blummer <tamas@...>
Yes, there is an incompatibility of current mechanism of system chain code deployment with PBFT.
toggle quoted message
Show quoted text
The incompatibility was uncovered in conjunction with the PR https://github.com/hyperledger/fabric/pull/1722 the noop system chain code, that was introduced for testing and already proved to be useful for just that. Tamas Blummer CHIEF LEDGER ARCHITECT Digital Asset T: +36 1 883 0300 E: tamas@... W: digitalasset.com On 10 Jun 2016, at 14:48, Marko Vukolic <MVU@...> wrote: --
This message, and any attachments, is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.digitalasset.com/emaildisclaimer.html. If you are not the intended recipient, please delete this message. |
|