You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ограничение скорости в правилах (add_rule, update_rule): новые поля download_kbps (скорость ответа клиенту) и upload_kbps (скорость чтения тела запроса от клиента), кбит/с, 1..1000000, у любого действия. Действие delay теперь «только замедлить»: нужен delay_ms, download_kbps или upload_kbps. Скорость правила общая на все запросы и соединения, которые оно замедляет, как одна медленная сеть; запрос под несколькими правилами идёт по самому медленному, и его байты учитываются только в нём. Работает и для ответов сервера, и для respond и sse. Таймаут чтения приложения срабатывает только на паузе без данных: по HTTPS запись TLS в 16 КБ идёт не меньше 131 / download_kbps секунд и дольше, пока правило замедляет несколько передач сразу; по HTTP паузы короткие.
Замедляется соединение клиента, пока по нему идёт подходящий запрос. На HTTP/1.1 это ровно этот запрос; хосту из условия host такого правила прокси даёт новым соединениям только HTTP/1.1. На HTTP/2 (нет host, соединение открыто до правила, клиент только HTTP/2) соединение замедляется целиком до закрытия. У запроса в поле rules пометка limited: request или connection; соединения не TCP — skipped. Ответ add_rule/update_rule подсказывает про перезапуск приложения и про host. Новая скорость в update_rule действует сразу, и на идущий ответ; удаление и выключение правила снимают ограничение сразу.
Скилл agentproxy: раздел «Скорость» в rules.md.
Известные ограничения скорости: WebSocket, открытый запросом под правилом, замедлен до закрытия (пометка у него limited: request); хост по IP-адресу без SNI на HTTP/1.1 не переводится; upload_kbps на соединении HTTP/2 замедляет и служебные кадры клиента; на HTTP/2 лимит правила держится и после исчерпания times; пометка skipped «not TCP» бывает и при сбое обёртки соединения (причина — в read_log).