Skip to content
This repository has been archived by the owner on Mar 30, 2018. It is now read-only.

Implement performance profiling #757

Open
vukolic opened this issue Mar 1, 2016 · 6 comments
Open

Implement performance profiling #757

vukolic opened this issue Mar 1, 2016 · 6 comments

Comments

@vukolic
Copy link

vukolic commented Mar 1, 2016

We need to implement performance profiling to understand (at any point in time) where the performance bottleneck in openblockchain is.

For example, at the time of opening this issue we are at about 500 tx/s peak throughput - which is way too low - yet it is not easy to tell where the bottleneck is.

Besides being able to identify throughput bottlenecks, we need also latency profiling capabilities.

@corecode
Copy link
Contributor

corecode commented Mar 1, 2016

With transaction batching, I can get to 600 invokes/sec. My feeling is (given that the profiler does not show any big offenders) that the big speedbump is transaction execution latency to the chaincode and back.

@muralisrini
Copy link
Contributor

adding @dongmingh @bmos299... they have started profile work

@corecode
Copy link
Contributor

corecode commented Mar 1, 2016

As suggested by @muralisrini, I tested with a noop chaincode, i.e. Run() and Query() return immediately (but the shim code is still in place). I can get up to 2500 invokes/sec on my laptop, and 2200 invokes/sec on zc2.

@vukolic
Copy link
Author

vukolic commented Mar 1, 2016

@corecode is this the throughput of a single client in closed loop or w. multiple clients saturating the system?

@corecode
Copy link
Contributor

corecode commented Mar 1, 2016

system saturated, closed loop clients.

@vukolic
Copy link
Author

vukolic commented Mar 1, 2016

Thanks. This number is very low on its own in the first place (although the rest of the system is not there yet).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

No branches or pull requests

4 participants