docs: add guidance for large deployments (30+ nodes) in rate limit config

Update config.example.yaml with:
- Recommendations for very large deployments (30+ nodes)
- Formula for calculating optimal rate limits based on node count
- Example calculation: 30 nodes with 10s polling = 300ms interval
- Security note about minimum safe intervals

This helps admins properly configure the proxy for enterprise
deployments with dozens of nodes.
This commit is contained in:
rcourtman 2025-10-21 11:27:13 +00:00
parent 44d5f91e92
commit 35adcf104f

View file

@ -29,11 +29,19 @@ metrics_address: "127.0.0.1:9127"
# Adjust these values based on your deployment size:
# - Small (1-3 nodes): Use defaults (1000ms, burst 5)
# - Medium (4-10 nodes): 500ms, burst 10
# - Large (10+ nodes): 250ms, burst 20
# - Large (10-20 nodes): 250ms, burst 20
# - Very Large (30+ nodes): 100ms, burst 30-50
#
# Formula: To poll all nodes in one cycle, set burst >= node_count
# For optimal performance: per_peer_interval_ms = (polling_interval_ms / node_count)
# Example: 10 second polling with 30 nodes = 10000ms / 30 ≈ 300ms interval
rate_limit:
per_peer_interval_ms: 1000 # Minimum milliseconds between requests per peer (1000ms = 1 qps)
per_peer_interval_ms: 1000 # Minimum milliseconds between requests per peer (1000ms = 1 qps = 60 requests/min)
per_peer_burst: 5 # Number of requests allowed in a burst (supports up to 5 simultaneous requests)
# Default values if not specified:
# per_peer_interval_ms: 1000 (1 second = 1 qps = 60 requests/min)
# per_peer_burst: 5
#
# Security note: Lower intervals increase throughput but also increase exposure
# to potential abuse. For production, keep interval >= 100ms unless necessary.