Neo: Create performance metrics used to benchmark NEO 3

Created on 16 Jul 2019  路  5Comments  路  Source: neo-project/neo

Create performance metrics for:

  • Network protocol (Examples: connected nodes, messages per second, RPC response time)
  • Consensus Algorithm (Examples: confirmation time, time per block in a faulty network)
  • IO (Examples: disk access, read/write per second, import block performance)
  • Other (Examples: CPU, memory, etc.)

This issue was initially created as #115. Once these metrics are discussed, we can think in a plugin to capture this information (if needed).

cosmetic design house-keeping

Most helpful comment

Hi, I was studying this and I thought of these metrics below that might be useful.
I also put the units of measure that I might fit between parentheses.

  • Network protocol:
  • Connected nodes (int);
  • Messages per second (/s);
  • RPC response time (ms);
  • Number of messages discarded (int);
  • Latency (ms);
  • Time since last block (seconds);
  • Block properties:
  • Time per block (/s);
  • Consensus Algorithm:
  • Confirmation time (ms);
  • Time per block in a faulty network (seconds);
  • Time to create a new node after confirmation (ms);
  • Payload messages time (ms);
  • IO:
  • Disk access (MB/s);
  • Time to commit (ms);
  • Read/write per second (/s);
  • Import block performance (s, min, h);
  • Export block performance (s, min, h);
  • Synchronization block performance (s, min, h);
  • Time to Transaction per byte (ms);
  • Height transaction (bytes);
  • Other:
  • CPU usage for main thread (%);
  • CPU usage for worker threads (%);
  • Memory (MB);
  • Number of active threads (int);
  • Exceptions (int);
  • Number of invalid transactions caught on verification (int);
  • Number of invalid transactions caught on application (int);

All 5 comments

Good idea, @lock9.
That would be great to have such tools.

We need to define a design for measuring it, I think that @devhawk @PeterLinX @neo-project/core can help us to guide how to design these metrics for having it as an option on NEO3.

I think that we do not need this for NEO2, really.
It is enough if we are able to monitor NEO3.

For the Increase TPS issue and milestone we can just check the TPS in a specific condition, if that is really necessary.

Hi @vncoelho , the main intent of this issue is to replace #115 with a more concise "description".
Erik is right, to be able to know that we increased our tps, we need to measure it, therefore, we need benchmark tools to test it and be sure it has improved.
Note: the metrics come before the tools, so we need to know what is important to track before we start adding plugins everywhere

Hi, I was studying this and I thought of these metrics below that might be useful.
I also put the units of measure that I might fit between parentheses.

  • Network protocol:
  • Connected nodes (int);
  • Messages per second (/s);
  • RPC response time (ms);
  • Number of messages discarded (int);
  • Latency (ms);
  • Time since last block (seconds);
  • Block properties:
  • Time per block (/s);
  • Consensus Algorithm:
  • Confirmation time (ms);
  • Time per block in a faulty network (seconds);
  • Time to create a new node after confirmation (ms);
  • Payload messages time (ms);
  • IO:
  • Disk access (MB/s);
  • Time to commit (ms);
  • Read/write per second (/s);
  • Import block performance (s, min, h);
  • Export block performance (s, min, h);
  • Synchronization block performance (s, min, h);
  • Time to Transaction per byte (ms);
  • Height transaction (bytes);
  • Other:
  • CPU usage for main thread (%);
  • CPU usage for worker threads (%);
  • Memory (MB);
  • Number of active threads (int);
  • Exceptions (int);
  • Number of invalid transactions caught on verification (int);
  • Number of invalid transactions caught on application (int);

I think we could also add the variation between the expected block time (from config) to the actual block time.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Tommo-L picture Tommo-L  路  4Comments

vncoelho picture vncoelho  路  3Comments

canesin picture canesin  路  3Comments

realloc picture realloc  路  4Comments

igormcoelho picture igormcoelho  路  3Comments