Skip to main content

Quorum profiling

Quorum profiling is a custom toolset used to benchmark transaction throughput and network statistics on any existing Quorum network using the JMeter and TPS monitoring tool profiles. Alternatively, it could also be used to spin up an entire GoQuorum network from scratch in AWS and benchmark the network for TPS, CPU/Memory usage. The various scenarios of usage is explained here

Metrics visualization

Key Components:

  • Telegraf - plugin-driven server agent for collecting and reporting metrics. Refer to GoQuorum profiling config.
  • JMeter - Load testing tool. The detail of various profiles and test execution, refer here
  • TPS Monitor - Custom "go" project to monitor transactions per second, total transactions and total blocks in Quorum network.
  • InfluxDB - Open source time series database for monitoring metrics and events, providing real-time visibility.
  • Prometheus - similar to influx Prometheus records real-time metrics in a time series database built using a HTTP "pull" model, with flexible queries and real-time alerting
  • Grafana - Monitoring tool for metrics and logs consolidation

The tool executes the stress test profile selected and then collects the following metrics:

  • CPU/Memory usage for both Quorum & tessera
  • Transaction & Block count
  • Transaction processing speed
  • Jmeter test execution statistics

These metrics could be configured to be stored in an InfluxDB or Prometheus for further analysis. Both databases integrate well with the open source dashboard editor Grafana to allow for easy creation of dashboards to visualize the data being captured from the profiling tool. Sample dashboards below:

Sample network dashboard

Quorum network dashboard

Sample JMeter dashboard

JMeter dashboard