From e244da83756b2ccb3861623194fc6285ad46d0f2 Mon Sep 17 00:00:00 2001 From: rcourtman Date: Tue, 21 Oct 2025 11:27:13 +0000 Subject: [PATCH] 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. --- cmd/pulse-sensor-proxy/config.example.yaml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/cmd/pulse-sensor-proxy/config.example.yaml b/cmd/pulse-sensor-proxy/config.example.yaml index 9bc374120..a912a1954 100644 --- a/cmd/pulse-sensor-proxy/config.example.yaml +++ b/cmd/pulse-sensor-proxy/config.example.yaml @@ -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.