thorlabsDev / rpc-benchmark

Apache License 2.0
43 stars 5 forks source link

Solana RPC Benchmark Tool

This GoLang-built tool is designed to transmit multiple RPC transactions to a specified Solana RPC endpoint, primarily to evaluate rate limits and response times. The tool helps users understand how quickly an RPC endpoint can accept and respond to requests, thereby shedding light on the endpoint's capacity and robustness under various loads. It is crucial for identifying potential bottlenecks and optimizing system responsiveness, focusing specifically on rate limits and response times rather than full transaction confirmation metrics.

Disclaimer #1:

This tool is intended for diagnostic purposes only and should not be used as the sole basis for performance metrics of any RPC infrastructure. It focuses on assessing the initial handling of transactions rather than full transaction confirmation, and does not provide a complete picture of the endpoint's capabilities. It is not suitable for comparative performance analysis against other RPC services or for promotional purposes.

Download

Features

Configuration Options

Here are the configuration options you can specify when running the tool:

Usage

Output

The program provides a detailed report of:

Two plots have been generated to visualize the response times:

You can find these plots in the results folder located in the same directory as the executable.

image image

Best Practices for Effective RPC Throughput Testing

Disclaimer #2:

The information, recommendations, and guidelines provided in this document are presented in good faith and believed to be accurate based on the current state of knowledge and technology. However, they are provided without any warranty or guarantee of any kind, either expressed or implied, including, without limitation, warranties of merchantability or fitness for a particular purpose. Users are advised to exercise their own judgment and discretion when implementing or using the tools and techniques described herein. The authors, contributors, and publishers of this document shall not be held liable for any damages, losses, or consequences, whether direct, indirect, special, incidental, or consequential, arising out of or in connection with the use or reliance on this documentation or any information contained within.

Contact Us

For any inquiries, feedback, or to report bugs, please reach out to us via our official Discord server:

Join ThorLabs Discord Server

To report a bug or any other issue, kindly submit a ticket within the Discord server. Our dedicated team will review and address your concerns promptly.