-
Notifications
You must be signed in to change notification settings - Fork 57
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Is your feature request related to a problem? Please describe
Currently, there is no way to limit the ingestion rate to VictoriaLogs. The -maxConcurrentInserts flag controls the number of concurrent insert requests but does not limit the actual throughput in terms of logs per second or data volume.
Users need the ability to limit ingestion rate to:
- Protect VictoriaLogs from being overwhelmed by high-volume log streams
- Control resource consumption (CPU, memory, disk I/O)
- Ensure predictable performance under varying load conditions
- Prevent runaway logging from impacting system stability
- Manage bandwidth and storage costs
Describe the solution you'd like
Add configuration flags to limit the ingestion rate:
- -insert.maxLogsPerSec - global limit for logs ingested per second (e.g., 800 logs/sec)
- -insert.maxBytesPerSec - global limit for data volume ingested per second (e.g., 10MB/sec)
When either limit is reached, return an appropriate HTTP status code (e.g., 429 Too Many Requests) with a Retry-After header.
Both limits could work independently or together, with ingestion being throttled when any of the configured limits is exceeded.
Describe alternatives you've considered
- Using -maxConcurrentInserts - this only limits concurrent connections, not actual throughput
- External rate limiting via reverse proxy (nginx, envoy) - adds operational complexity and doesn't provide log-aware limiting; also harder to implement bytes/sec limiting accurately
- Client-side rate limiting - not always possible when logs come from multiple sources
Additional information
No response
func25
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request