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
- 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
- Transaction & Block count
- Transaction processing speed
Jmetertest 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: