Set Bandwidth Limits
How to configure QoS bandwidth limits on services
How to Set Bandwidth Limits
This guide shows you how to configure bandwidth limits on Arctic services for Quality of Service (QoS) control.
Before You Start
Ensure you have:
- An existing service or the information to create one
- Knowledge of the desired bandwidth limit in Mbps
Set Bandwidth During Service Creation
Specify a bandwidth limit when creating a new service:
arctic services create \
--target-peer TARGET_PEER_ID \
--bandwidth-limit 1000The value is in Megabits per second (Mbps). 1000 means 1 Gbps.
Update Bandwidth on Existing Service
Change the bandwidth limit on an existing service:
arctic services update SERVICE_ID --bandwidth-limit 500Remove Bandwidth Limit
Set the limit to 0 to remove the restriction (unlimited):
arctic services update SERVICE_ID --bandwidth-limit 0Verify Current Bandwidth
Check the current bandwidth setting:
arctic services get SERVICE_IDLook for the bandwidth_limit_mbps field in the output.
Common Bandwidth Values
| Use Case | Bandwidth | Value |
|---|---|---|
| Low priority | 100 Mbps | 100 |
| Standard | 1 Gbps | 1000 |
| High throughput | 10 Gbps | 10000 |
| Unlimited | No limit | 0 |
How Bandwidth Limiting Works
Arctic uses traffic shaping through Pegasus (the TProxy service) to enforce bandwidth limits:
- Traffic Classification: Packets are marked with fwmarks for QoS
- Token Bucket: Traffic shaping uses a token bucket algorithm
- Fair Queuing: Multiple flows share the bandwidth fairly
Bandwidth limits apply to traffic flowing through the service. They do not affect traffic that does not match the service's routes.
Troubleshooting
Bandwidth Not Being Enforced
If traffic exceeds the configured limit:
- Trigger a config sync:
arctic cluster sync - Verify Pegasus config:
cat /opt/tillered/pegasus/config.json - Check Pegasus logs:
journalctl | grep pegasus
Performance Lower Than Expected
If throughput is below the configured limit:
- Check for network bottlenecks elsewhere in the path
- Verify the underlying network can support the desired bandwidth
- Consider TCP tuning for high-bandwidth scenarios