mirror of
https://github.com/GrapheneOS/infrastructure.git
synced 2025-11-28 18:40:20 -05:00
switch from shaped CAKE to FQ for BuyVM servers
These servers originally only had the 1Gbps base bandwidth and shaping it with CAKE worked well to make the most of it during traffic spikes for the web servers. It has little value for the nameservers since the only potentially high throughput service is non-interactive SSH. These servers now have 10Gbps burst available but are heavily limited by their single virtual core and unable to use all of it in practice. CAKE can only provide significant value when it's the bottleneck which isn't the case when the workload is CPU limited. We don't want to keep around the artificially low 1Gbps limit and it can't do much more. Unlike OVH, the practical bottleneck is the CPU and FQ has the lowest CPU usage in practice due to being very performance-oriented with a FIFO fast path and offloading TCP pacing from the TCP stack to itself. On the DNS servers, the fast path is always used in practice. Our OVH servers have a much lower enforced bandwidth limit and the way they implement it ruins fairness across flows. We definitely want to stick with CAKE for our VPS instances on OVH but it doesn't make sense on BuyVM anymore.
This commit is contained in:
parent
b2c15916cc
commit
c6156ebed7
14 changed files with 417 additions and 61 deletions
|
|
@ -26,10 +26,3 @@ PreferredSource=2605:6400:10:102e:95bc:89ef:2e7f:49bb
|
|||
[Route]
|
||||
Destination=2605:6400:10::1
|
||||
PreferredSource=2605:6400:10:102e:95bc:89ef:2e7f:49bb
|
||||
|
||||
[CAKE]
|
||||
Handle=1
|
||||
Bandwidth=1000M
|
||||
PriorityQueueingPreset=diffserv4
|
||||
FlowIsolationMode=dual-dst-host
|
||||
SplitGSO=false
|
||||
|
|
|
|||
|
|
@ -23,10 +23,3 @@ PreferredSource=2605:6400:20:387:72d4:dab9:a369:f351
|
|||
[Route]
|
||||
Destination=2605:6400:20::1
|
||||
PreferredSource=2605:6400:20:387:72d4:dab9:a369:f351
|
||||
|
||||
[CAKE]
|
||||
Handle=1
|
||||
Bandwidth=1000M
|
||||
PriorityQueueingPreset=diffserv4
|
||||
FlowIsolationMode=dual-dst-host
|
||||
SplitGSO=false
|
||||
|
|
|
|||
|
|
@ -23,10 +23,3 @@ PreferredSource=2605:6400:20:1131:8088:e08:84e6:632
|
|||
[Route]
|
||||
Destination=2605:6400:20::1
|
||||
PreferredSource=2605:6400:20:1131:8088:e08:84e6:632
|
||||
|
||||
[CAKE]
|
||||
Handle=1
|
||||
Bandwidth=1000M
|
||||
PriorityQueueingPreset=diffserv4
|
||||
FlowIsolationMode=dual-dst-host
|
||||
SplitGSO=false
|
||||
|
|
|
|||
|
|
@ -26,10 +26,3 @@ PreferredSource=2605:6400:20:1c8f:a0c9:372d:482e:945b
|
|||
[Route]
|
||||
Destination=2605:6400:20::1
|
||||
PreferredSource=2605:6400:20:1c8f:a0c9:372d:482e:945b
|
||||
|
||||
[CAKE]
|
||||
Handle=1
|
||||
Bandwidth=1000M
|
||||
PriorityQueueingPreset=diffserv4
|
||||
FlowIsolationMode=dual-dst-host
|
||||
SplitGSO=false
|
||||
|
|
|
|||
|
|
@ -26,10 +26,3 @@ PreferredSource=2605:6400:30:ec25:102c:af6d:5be:1eb8
|
|||
[Route]
|
||||
Destination=2605:6400:30::1
|
||||
PreferredSource=2605:6400:30:ec25:102c:af6d:5be:1eb8
|
||||
|
||||
[CAKE]
|
||||
Handle=1
|
||||
Bandwidth=1000M
|
||||
PriorityQueueingPreset=diffserv4
|
||||
FlowIsolationMode=dual-dst-host
|
||||
SplitGSO=false
|
||||
|
|
|
|||
|
|
@ -23,10 +23,3 @@ PreferredSource=2605:6400:10:c41:de92:c534:326a:711a
|
|||
[Route]
|
||||
Destination=2605:6400:10::1
|
||||
PreferredSource=2605:6400:10:c41:de92:c534:326a:711a
|
||||
|
||||
[CAKE]
|
||||
Handle=1
|
||||
Bandwidth=1000M
|
||||
PriorityQueueingPreset=diffserv4
|
||||
FlowIsolationMode=dual-dst-host
|
||||
SplitGSO=false
|
||||
|
|
|
|||
|
|
@ -23,10 +23,3 @@ PreferredSource=2605:6400:10:aa9:1c0f:44d3:da15:c0ec
|
|||
[Route]
|
||||
Destination=2605:6400:10::1
|
||||
PreferredSource=2605:6400:10:aa9:1c0f:44d3:da15:c0ec
|
||||
|
||||
[CAKE]
|
||||
Handle=1
|
||||
Bandwidth=1000M
|
||||
PriorityQueueingPreset=diffserv4
|
||||
FlowIsolationMode=dual-dst-host
|
||||
SplitGSO=false
|
||||
|
|
|
|||
|
|
@ -23,10 +23,3 @@ PreferredSource=2605:6400:10:9d6:6d84:e183:acda:16d7
|
|||
[Route]
|
||||
Destination=2605:6400:10::1
|
||||
PreferredSource=2605:6400:10:9d6:6d84:e183:acda:16d7
|
||||
|
||||
[CAKE]
|
||||
Handle=1
|
||||
Bandwidth=1000M
|
||||
PriorityQueueingPreset=diffserv4
|
||||
FlowIsolationMode=dual-dst-host
|
||||
SplitGSO=false
|
||||
|
|
|
|||
10
etc/systemd/system/single.fq.service
Normal file
10
etc/systemd/system/single.fq.service
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
[Unit]
|
||||
Requires=sys-subsystem-net-devices-public.device
|
||||
After=sys-subsystem-net-devices-public.device
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/tc qdisc replace dev public root handle 1 fq bands 3 priomap 1 2 2 2 0 2 0 0 1 1 1 1 1 1 1 1
|
||||
|
||||
[Install]
|
||||
WantedBy=sys-subsystem-net-devices-public.device
|
||||
Loading…
Add table
Add a link
Reference in a new issue