ajp_send_lowat
Директива `ajp_send_lowat` задаёт порог минимального заполнения для сокета протокола AJP, чтобы управлять поведением буфера отправки.
Описание
Директива ajp_send_lowat используется в модулях NGINX, поддерживающих протокол AJP, и позволяет тонко настраивать поведение передачи данных, отправляемых на AJP-бэкенды, обычно для подключения к Java‑серверам приложений, таким как Tomcat. Когда эта директива задана, она определяет «порог минимального заполнения» для буфера отправки AJP‑сокета: если количество байт в очереди отправки опускается ниже этого порога, NGINX может считать соединение исправным и готовым принять дополнительные данные. Это позволяет оптимизировать управление потоком, избегая ситуаций, когда соединение переполняется данными без достаточного обратного потока от сервера, что могло бы привести к неэффективности или потерям запросов при превышении порогов.
Аргументом этой директивы является число, которое задаёт порог минимального заполнения в байтах. По умолчанию, если директива явно не установлена, считается, что она равна none, то есть используется системное значение по умолчанию. Управляя этой настройкой, администраторы могут обеспечить лучшую готовность экземпляров NGINX к обработке высоких нагрузок и предотвратить обратное давление, которое возникает при неожиданном заполнении буферов, тем самым улучшая общую производительность и отзывчивость приложений.
Пример конфига
http {
server {
listen 80;
location / {
ajp_pass myapp;
ajp_send_lowat 16384;
}
}
}Установка ajp_send_lowat слишком низкого значения может привести к тому, что NGINX будет отправлять данные слишком часто, увеличивая накладные расходы.
Напротив, установка слишком высокого значения может привести к переполнению буфера и задержкам при отправке данных, что ухудшит отзывчивость.