Performance Measurements


Bishop Brock <bcbrock@...>
 

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


Imre Kocsis
 

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

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


Bishop Brock <bcbrock@...>
 

Hi Zuo,

Unfortunately none of the BFT implementations in the Hyperledger fabric are stable enough to survive even the moderate amount of stress applied by the busywork test you are attempting. The only way to guarantee success today is to use NOOPS (change -sieve to -noops).

The lines at the bottom:

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

suggest that 3 of the peers crashed. You may want to look at the logs (in your BUSYWORK_HOME) for vp1,..3 to see if there are panics that have not been reported before.
I'm surprised though that it crashed during deployment; Again the answer may be in the peer logs.

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

"wz" ---06/07/2016 11:22:32 AM---Bishop, I got errors when ran performance test with busywork. are you the right guy I can ask for he

From: "wz" <wangzuo.nj@...>
To: "ikocsis" <ikocsis@...>, Bishop Brock/Austin/IBM@IBMUS
Cc: "hyperledger-fabric" <hyperledger-fabric@...>
Date: 06/07/2016 11:22 AM
Subject: Re: [Hyperledger-fabric] Performance Measurements





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.

Tamas Blummer
CHIEF LEDGER ARCHITECT
Digital Asset

T: +36 1 883 0300

On 07 Jun 2016, at 18:37, Bishop Brock <bcbrock@...> wrote:

Hi Zuo,

Unfortunately none of the BFT implementations in the Hyperledger fabric are stable enough to survive even the moderate amount of stress applied by the busywork test you are attempting. The only way to guarantee success today is to use NOOPS (change -sieve to -noops).

The lines at the bottom:

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

suggest that 3 of the peers crashed. You may want to look at the logs (in your BUSYWORK_HOME) for vp1,..3 to see if there are panics that have not been reported before.
I'm surprised though that it crashed during deployment; Again the answer may be in the peer logs.

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

<graycol.gif>"wz" ---06/07/2016 11:22:32 AM---Bishop, I got errors when ran performance test with busywork. are you the right guy I can ask for he

From: "wz" <wangzuo.nj@...>
To: "ikocsis" <ikocsis@...>, Bishop Brock/Austin/IBM@IBMUS
Cc: "hyperledger-fabric" <hyperledger-fabric@...>
Date: 06/07/2016 11:22 AM
Subject: Re: [Hyperledger-fabric] Performance Measurements





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









_______________________________________________
Hyperledger-fabric mailing list
Hyperledger-fabric@...
https://lists.hyperledger.org/mailman/listinfo/hyperledger-fabric


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@...>
 

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 -----
From: Tamas Blummer <tamas@...>
Sent by: hyperledger-fabric-bounces@...
To: Bishop Brock <bcbrock@...>
Cc: hyperledger-fabric <hyperledger-fabric@...>
Subject: Re: [Hyperledger-fabric] Performance Measurements
Date: Wed, Jun 8, 2016 6:51 AM
 
Judging on our own tests and outstanding BFT related github issues, the current BFT implementation in fabric is simply not working.
 
Tamas Blummer
CHIEF LEDGER ARCHITECT
Digital Asset
 
T: +36 1 883 0300
 
On 07 Jun 2016, at 18:37, Bishop Brock <bcbrock@...> wrote:
 

Hi Zuo,

Unfortunately none of the BFT implementations in the Hyperledger fabric are stable enough to survive even the moderate amount of stress applied by the busywork test you are attempting. The only way to guarantee success today is to use NOOPS (change -sieve to -noops).

The lines at the bottom:

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

suggest that 3 of the peers crashed. You may want to look at the logs (in your BUSYWORK_HOME) for vp1,..3 to see if there are panics that have not been reported before.
I'm surprised though that it crashed during deployment; Again the answer may be in the peer logs.

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

<graycol.gif>"wz" ---06/07/2016 11:22:32 AM---Bishop, I got errors when ran performance test with busywork. are you the right guy I can ask for he

From: "wz" <wangzuo.nj@...>
To: "ikocsis" <ikocsis@...>, Bishop Brock/Austin/IBM@IBMUS
Cc: "hyperledger-fabric" <hyperledger-fabric@...>
Date: 06/07/2016 11:22 AM
Subject: Re: [Hyperledger-fabric] Performance Measurements





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








 
_______________________________________________
Hyperledger-fabric mailing list
Hyperledger-fabric@...
https://lists.hyperledger.org/mailman/listinfo/hyperledger-fabric

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.
_______________________________________________
Hyperledger-fabric mailing list
Hyperledger-fabric@...
https://lists.hyperledger.org/mailman/listinfo/hyperledger-fabric
 


Tamas Blummer <tamas@...>
 

https://github.com/hyperledger/fabric/issues/1741

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:

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 -----
From: Tamas Blummer <tamas@...>
Sent by: hyperledger-fabric-bounces@...
To: Bishop Brock <bcbrock@...>
Cc: hyperledger-fabric <hyperledger-fabric@...>
Subject: Re: [Hyperledger-fabric] Performance Measurements
Date: Wed, Jun 8, 2016 6:51 AM

Judging on our own tests and outstanding BFT related github issues, the current BFT implementation in fabric is simply not working.

Tamas Blummer
CHIEF LEDGER ARCHITECT
Digital Asset

T: +36 1 883 0300
E: tamas@...
W: digitalasset.com

On 07 Jun 2016, at 18:37, Bishop Brock <bcbrock@...> wrote:

Hi Zuo,

Unfortunately none of the BFT implementations in the Hyperledger fabric are stable enough to survive even the moderate amount of stress applied by the busywork test you are attempting. The only way to guarantee success today is to use NOOPS (change -sieve to -noops).

The lines at the bottom:

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

suggest that 3 of the peers crashed. You may want to look at the logs (in your BUSYWORK_HOME) for vp1,..3 to see if there are panics that have not been reported before.
I'm surprised though that it crashed during deployment; Again the answer may be in the peer logs.

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

<graycol.gif>"wz" ---06/07/2016 11:22:32 AM---Bishop, I got errors when ran performance test with busywork. are you the right guy I can ask for he

From: "wz" <wangzuo.nj@...>
To: "ikocsis" <ikocsis@...>, Bishop Brock/Austin/IBM@IBMUS
Cc: "hyperledger-fabric" <hyperledger-fabric@...>
Date: 06/07/2016 11:22 AM
Subject: Re: [Hyperledger-fabric] Performance Measurements




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









_______________________________________________
Hyperledger-fabric mailing list
Hyperledger-fabric@...
https://lists.hyperledger.org/mailman/listinfo/hyperledger-fabric
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.
_______________________________________________
Hyperledger-fabric mailing list
Hyperledger-fabric@...
https://lists.hyperledger.org/mailman/listinfo/hyperledger-fabric


_______________________________________________
Hyperledger-fabric mailing list
Hyperledger-fabric@...
https://lists.hyperledger.org/mailman/listinfo/hyperledger-fabric
--
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 -----
From: Tamas Blummer <tamas@...>
To: Marko Vukolic <MVU@...>
Cc: hyperledger-fabric@...
Subject: Re: [Hyperledger-fabric] Performance Measurements
Date: Wed, Jun 8, 2016 10:01 AM
 
https://github.com/hyperledger/fabric/issues/1741

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:
>
> 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 -----
> From: Tamas Blummer <tamas@...>
> Sent by: hyperledger-fabric-bounces@...
> To: Bishop Brock <bcbrock@...>
> Cc: hyperledger-fabric <hyperledger-fabric@...>
> Subject: Re: [Hyperledger-fabric] Performance Measurements
> Date: Wed, Jun 8, 2016 6:51 AM
>  
> Judging on our own tests and outstanding BFT related github issues, the current BFT implementation in fabric is simply not working.
>  
> Tamas Blummer
> CHIEF LEDGER ARCHITECT
> Digital Asset
>  
> T: +36 1 883 0300
> E: tamas@...
> W: digitalasset.com
>  
>> On 07 Jun 2016, at 18:37, Bishop Brock <bcbrock@...> wrote:
>>  
>> Hi Zuo,
>>
>> Unfortunately none of the BFT implementations in the Hyperledger fabric are stable enough to survive even the moderate amount of stress applied by the busywork test you are attempting. The only way to guarantee success today is to use NOOPS (change -sieve to -noops).
>>
>> The lines at the bottom:
>>
>> 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
>>
>> suggest that 3 of the peers crashed. You may want to look at the logs (in your BUSYWORK_HOME) for vp1,..3 to see if there are panics that have not been reported before.
>> I'm surprised though that it crashed during deployment; Again the answer may be in the peer logs.
>>
>> 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
>>
>> <graycol.gif>"wz" ---06/07/2016 11:22:32 AM---Bishop, I got errors when ran performance test with busywork. are you the right guy I can ask for he
>>
>> From: "wz" <wangzuo.nj@...>
>> To: "ikocsis" <ikocsis@...>, Bishop Brock/Austin/IBM@IBMUS
>> Cc: "hyperledger-fabric" <hyperledger-fabric@...>
>> Date: 06/07/2016 11:22 AM
>> Subject: Re: [Hyperledger-fabric] Performance Measurements
>>
>>
>>
>>
>> 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
>>
>>
>>
>>
>>
>>
>>
>>
>>  
>> _______________________________________________
>> Hyperledger-fabric mailing list
>> Hyperledger-fabric@...
>> https://lists.hyperledger.org/mailman/listinfo/hyperledger-fabric
>
> 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.
> _______________________________________________
> Hyperledger-fabric mailing list
> Hyperledger-fabric@...
> https://lists.hyperledger.org/mailman/listinfo/hyperledger-fabric
>  
>
> _______________________________________________
> Hyperledger-fabric mailing list
> Hyperledger-fabric@...
> https://lists.hyperledger.org/mailman/listinfo/hyperledger-fabric


--
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.

 
 


Tamas Blummer <tamas@...>
 

Yes, there is an incompatibility of current mechanism of system chain code deployment with PBFT.

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:

For the record, and to reinforce the confidence of the community in the HL fabric PBFT implementation - #1741 is also not a PBFT issue

see https://github.com/hyperledger/fabric/issues/1784

Cheers,
Marko

----- Original message -----
From: Tamas Blummer <tamas@...>
To: Marko Vukolic <MVU@...>
Cc: hyperledger-fabric@...
Subject: Re: [Hyperledger-fabric] Performance Measurements
Date: Wed, Jun 8, 2016 10:01 AM

https://github.com/hyperledger/fabric/issues/1741

Tamas Blummer
CHIEF LEDGER ARCHITECT
Digital Asset

T: +36 1 883 0300
E: tamas@...
W: digitalasset.com
--
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.