quic_gso
Директива 'quic_gso' включает или отключает использование Generic Segmentation Offload для QUIC-подключений в NGINX. — NGINX HTTP Core
Описание
Директива 'quic_gso' используется в контекстах 'http' и 'server' в конфигурациях NGINX для управления поведением QUIC (Quick UDP Internet Connections) в отношении segmentation offloading. Эта функция позволяет NGINX более эффективно обрабатывать крупные пакеты, используя нижележащий сетевой стек для разделения данных на более мелкие пакеты перед отправкой. Это особенно полезно для приложений с высокой пропускной способностью, поскольку может снизить нагрузку на CPU и улучшить общую производительность при обслуживании QUIC-подключений. Когда директива 'quic_gso' включена, трафик QUIC будет использовать GSO там, где это поддерживается операционной системой и сетевым интерфейсом. Это означает, что вместо генерации множества мелких пакетов для одного QUIC-соединения сетевой стек будет разбивать крупные пакеты на необходимые размеры для передачи. За это поведение отвечает булев флаг — установка 'quic_gso on;' включает эту функцию, тогда как 'quic_gso off;' отключает её. По умолчанию функция фактически выключена, если явно не указано иное, поэтому администраторам важно учитывать эту директиву при оптимизации производительности приложений, интенсивно использующих QUIC. Время включения 'quic_gso' следует подбирать с учётом результатов тестов производительности для рабочих нагрузок приложений. Неправильные настройки могут привести к увеличению задержки или потере пакетов, особенно в сетях, которые не полностью поддерживают GSO. Рекомендуется проводить корректные тесты, чтобы обеспечить совместимость и улучшение производительности для конкретных сценариев использования.
Пример конфига
http {
server {
listen 443 ssl http2;
quic_gso on;
# other configurations...
}
}Убедитесь, что ваш сетевой стек поддерживает GSO для оптимальной производительности.
Отключение GSO может привести к увеличению использования CPU и снижению пропускной способности для трафика QUIC.
Протестируйте конфигурацию в тестовом окружении, чтобы избежать неожиданного поведения в рабочей среде.