
Paradigm introduces Flood: A powerful tool for blockchain node load testing
TechFlow Selected TechFlow Selected

Paradigm introduces Flood: A powerful tool for blockchain node load testing
This article introduces Flood, a load testing tool that provides an unprecedented view into the performance characteristics of blockchain nodes.
Written by: Storm Slivkoff, Georgios Konstantopoulos
Compiled by: TechFlow

Introduction
Load testing is a critical step in building resilient and high-performance data systems. However, it has not been widely adopted in cryptocurrency infrastructure development. We are excited to introduce Flood, a benchmarking tool specifically designed for RPC endpoint performance analysis, to fill this gap.
Initially, we developed Flood as a tool to optimize Reth and understand its latency and throughput trade-offs under different workloads. Later, we found that Flood holds significant practical value beyond Reth in optimizing the performance of many types of cryptocurrency infrastructure.
Let’s dive in.
What is load testing, and why does it matter?
Load testing refers to measuring how the performance characteristics of a system change under varying workloads. The key insight behind this method is that as systems experience increasing load, performance metrics such as throughput, latency, and error rates typically degrade. Therefore, observing a system's behavior under controlled loads can reveal bottlenecks, failure modes, and ultimate performance capacity.
The insights gained from load testing can be used in many ways. During system development, load testing can highlight which bottlenecks should be prioritized for improvement. When comparing two systems, load testing can show which one offers better performance or reliability. As a specific case, load testing can compare two different hardware or software configurations of a single system. In each scenario, load testing enables highly optimized system development.
How to load test blockchain nodes?
Our focus is on RPCs—the communication protocols commonly used to extract data from blockchain nodes.
Currently, the most common way to measure RPC performance is not load testing, but latency testing: you send a single request to an RPC node and measure how long it takes to receive a response. Latency tests across various RPC providers can be found on multiple websites. Unfortunately, this type of test provides only a limited view of node performance, as it reveals little about how the system behaves under load.
In blockchains, workload can vary in two important ways. The classical variable is size. A load of 10,000 requests per second exerts significantly more pressure on a system than 100 requests per second. Another workload variable is the RPC method. Different RPC methods exist for retrieving each type of data from a blockchain node—for example, blocks vs transactions vs logs vs traces. Each RPC method imposes a different type of load on the system. Some RPC methods are constrained by storage I/O, while others are CPU-bound.
What is Flood?
Based on these principles, we developed a load testing tool called Flood. Unlike latency testing, Flood provides an unprecedented view into the performance characteristics of RPC endpoints by using load testing and expanding test coverage to all relevant RPC methods.

Flood consists of three core components:
-
Call Generation Engine: Flood generates large sets of parameterized RPC calls, with randomly sampled parameters distributed similarly to real-world blockchain workloads. Flood leverages the Paradigm Data Portal dataset to ensure full coverage of blockchain history.
-
Load Testing Engine: Flood orchestrates Vegeta—a high-performance load testing tool written in Go—to perform load tests against RPC endpoints using these generated calls.
-
Reporting Engine: After test execution, Flood summarizes results using charts, tables, and reports. These summaries are easily integrable into scripts and data pipelines.
Each component is highly configurable, enabling Flood to cover a wide range of testing scenarios and environments.
What can Flood do?
During regular operation, users specify the RPC methods to test and a list of RPC endpoints. For instance, you might want to compare the performance of two versions of Reth on the eth_getLogs method. Flood will run these RPC endpoints under varying controlled loads—say, at 1,000, 2,000, 4,000, and 8,000 requests per second for eth_getLogs. Flood then presents tables and graphs summarizing how performance metrics change with load. The output looks like this:

The specific way performance metrics degrade under load provides rich insights, revealing system bottlenecks and ultimate performance limits.
Beyond basic functionality, Flood offers advanced features tailored to sophisticated users:
-
Flood supports various load testing strategies, including “stress testing” (gradually increasing load over time), “spike testing” (sudden bursts of high load followed by low load), and “soak testing” (long-duration sustained load).
-
Flood can orchestrate load tests to run natively on each RPC node, eliminating noise caused by network bottlenecks.
-
Flood includes an “equality” test mode that checks whether each RPC endpoint returns identical responses.
Why did we build Flood?
At Paradigm, we are developing a new node implementation called Reth, with performance as one of its primary goals. We built Flood to deeply characterize Reth’s performance. We’ve already used Flood to uncover numerous performance bottlenecks in Reth across various workloads and system configurations—and then resolved them. With Flood, we’ve established a tight feedback loop, giving Reth developers clear visibility into how any code change impacts end-to-end system performance.
Beyond Reth, we believe Flood can help answer many unresolved questions about RPC nodes:
-
When running nodes, which hardware specifications matter most? How important is storage I/O relative to RAM speed, RAM capacity, and CPU speed? Is RAID worth it?
-
What are the effective rate limits for each RPC method across third-party RPC providers?
-
Which node client delivers the best performance for different types of workloads?
Conclusion
In this article, we introduced Flood, a load testing tool that provides an unprecedented view into the performance characteristics of blockchain nodes. While initially built to optimize Reth’s development, we believe Flood will become a vital tool for developing other types of high-performance cryptocurrency infrastructure. We look forward to seeing how others use Flood to build their own high-performance, reliable systems.
Join TechFlow official community to stay tuned
Telegram:https://t.me/TechFlowDaily
X (Twitter):https://x.com/TechFlowPost
X (Twitter) EN:https://x.com/BlockFlow_News














