aztec-packages icon indicating copy to clipboard operation
aztec-packages copied to clipboard

test: p2p performance

Open just-mitch opened this issue 6 months ago • 0 comments

Depends on https://github.com/AztecProtocol/aztec-packages/issues/8006

As a network engineer, I want to measure our P2P network so that we can ensure its stability and performance under various adverse conditions.

QoS Metrics and Targets

We identify the following QoS metrics and suggested targets for the P2P network:

  1. Message Propagation Time:

    • Measure: Time taken for a message to reach X% of the network
    • Target: 95% of messages should propagate to 95% of nodes within 5 seconds
  2. Network Connectivity:

    • Measure: Number of active peer connections per node over time
    • Target: Each node should maintain connections to at least 8 peers 99% of the time
  3. Bandwidth Usage:

    • Measure: Inbound and outbound traffic per node
    • Target: Average bandwidth usage should not exceed 1MB/s per node
  4. Latency:

    • Measure: RTT for peer-to-peer communications
    • Target: Average round-trip time (RTT) between any two nodes should be < 200ms
  5. Node Discovery Time:

    • Measure: Time taken for a new node to establish X peer connections
    • Target: New nodes should discover and connect to the network within 30 seconds
  6. State Sync Time:

  • Measure: Time taken to sync from genesis to the latest state
  • Target: Nodes should sync the latest state within 10 minutes for every 1GB of state

Deliverable

Update the token transfer test that runs on a spartan cluster to capture the metrics above. Ensure the test fails if QoS targets are violated.

just-mitch avatar Aug 15 '24 19:08 just-mitch