The Link module benchmarks cluster replication link latency, measuring the performance of the low-level transport used for replicating state between cluster members.
The Link layer provides the foundation for cluster replication in X Platform, offering:
Direct point-to-point communication between cluster members
Minimal overhead transport for state replication
Support for various network protocols (TCP, UDP, InfiniBand, etc.)
This benchmark measures the raw performance capabilities of the replication link layer.
StreamingSender / StreamingReceiver
Measures unidirectional throughput:
Sender Class : com.neeve.perf.link.StreamingSender Receiver Class : com.neeve.perf.link.StreamingReceiver
The sender continuously sends messages to the receiver as fast as possible, measuring maximum sustained throughput.
PingPongSender / PingPongReceiver
Measures round-trip latency:
Sender Class : com.neeve.perf.link.PingPongSender Receiver Class : com.neeve.perf.link.PingPongReceiver
The sender sends a message and waits for a response from the receiver, measuring round-trip time.
Purpose : Measure maximum throughput Setup : Two machines connected via high-speed network Use Case : Validate network configuration and capacity
Purpose : Measure minimum latency Setup : Two machines connected via low-latency network Use Case : Validate network tuning and baseline latency
Running Benchmarks
Streaming Throughput Test
On Receiver Machine :
On Sender Machine :
Ping-Pong Latency Test
On Receiver Machine :
On Sender Machine :
Interpreting Results
Throughput Results
Latency Results
Network Configurations
Typical Results :
Throughput: 1-2M messages/second
Latency: 15-25µs round-trip
TCP over InfiniBand
Typical Results :
Throughput: 2-4M messages/second
Latency: 8-15µs round-trip
RDMA over InfiniBand
Typical Results :
Throughput: 5-10M messages/second
Latency: 2-5µs round-trip
Comparison with Higher Layers
Link layer provides the foundation for cluster replication:
Link Layer : ~10µs (raw replication transport)
Messaging Layer : ~15µs (adds SMA abstractions)
AEP Engine : ~27µs (adds transactions, persistence, full clustering with consensus)
Last updated 3 months ago