59 lines
2.5 KiB
Markdown
59 lines
2.5 KiB
Markdown
# Speed limits and congestion policy
|
||
|
||
## Цель документа
|
||
|
||
Зафиксировать корректную speed policy без неточных упрощений.
|
||
|
||
## Что нельзя считать правильной схемой
|
||
|
||
Нельзя описывать baseline так:
|
||
- на сервере включили host BBR
|
||
- выдали какой-то URI
|
||
- автоматически получили строгий лимит 50 Mbps на клиента
|
||
|
||
Это неверная модель.
|
||
|
||
## Что зафиксировано в baseline
|
||
|
||
### На сервере
|
||
- `bandwidth.up = 50 mbps`
|
||
- `bandwidth.down = 50 mbps`
|
||
- `ignoreClientBandwidth = false`
|
||
|
||
### На клиенте
|
||
Совместимый клиентский конфиг должен задавать соответствующие bandwidth hints:
|
||
- `up_mbps = 50`
|
||
- `down_mbps = 50`
|
||
|
||
## Практический смысл
|
||
|
||
Ожидаемый 50/50 Mbps contract считается корректным только тогда, когда сервер и клиентская конфигурация согласованы.
|
||
|
||
## Что делать с host-level BBR
|
||
|
||
`net.ipv4.tcp_congestion_control=bbr` можно оставить как общий системный тюнинг, но:
|
||
|
||
- это не главный механизм speed policy Hysteria2
|
||
- это не замена клиентским bandwidth hints
|
||
- это не центр документации по лимитам
|
||
|
||
## Что фиксировать в `post-install.env`
|
||
|
||
Минимум:
|
||
- `HY2_BANDWIDTH_UP_Mbps`
|
||
- `HY2_BANDWIDTH_DOWN_Mbps`
|
||
- `HY2_IGNORE_CLIENT_BANDWIDTH`
|
||
|
||
Дополнительно фиксируется `HY2_VERSION` как фактически установленная версия Hysteria2.
|
||
|
||
## Что нельзя писать в проектных доках
|
||
|
||
Не писать:
|
||
- «лимит задаётся только на сервере, клиент не важен»
|
||
- «любой URI достаточно для полной speed policy»
|
||
- «host BBR и есть логика Hysteria»
|
||
|
||
## Правильная baseline-формулировка
|
||
|
||
Пер-клиентный лимит 50/50 Mbps обеспечивается согласованной серверной и клиентской конфигурацией. Install baseline отвечает за серверную часть этого контракта; конкретный delivery/access слой в этот документ не входит.
|