Re: nginxQuic: скорость загрузки при активации kTLS

Илья Шипицин chipitsine на gmail.com
Сб Янв 6 20:24:47 UTC 2024


сб, 6 янв. 2024 г. в 20:48, <izorkin на gmail.com>:

> Добрый вечер, Максим.
>
> Теперь ясно, благодарю :)
>
> Вы писали 6 января 2024 г., 21:27:52:
>
> > Просадка производительности, которую вы наблюдаете для HTTP/2 при
> > включённом kTLS - не собственно из-за kTLS, а из-за того, что у
> > вас включён sendfile, и при включённом kTLS становится возможным
> > его использование.  А в случае HTTP/2 это выливается в большое
> > количество syscall'ов из-за HTTP/2-фрейминга.
>
> > Если очень хочется получить включённый sendfile и kTLS в случае
> > HTTP/1.x, и выключенный в случае HTTP/2, то можно сделать как-то
> > так (слегка адаптировано из
> >
> https://mailman.nginx.org/pipermail/nginx-devel/2022-September/NSHDCLL2TY3Q536CO5MAKXSC3HCIMUNF.html
> ):
>
> >     server {
> >         listen 443 ssl;
>
> >         http2 on;
>
> >         location / {
> >             if ($server_protocol != 'HTTP/2.0') {
> >                 rewrite ^(.*) /sendfile$1 last;
> >             }
>
> >             sendfile off;
> >         }
>
> >         location /sendfile/ {
> >             alias html/;
> >             sendfile on;
> >         }
> >     }
>
> Да, были предположения после тестов, что для статики лучше делать
> отдельный домен и активировать на нём HTTP/1.1 и kTLS. Но такой
> вариант сработает только с теми web-сервисами, которые позволяют
> выводить статику в отдельный домен.
> К примеру, есть сервис Peertube для видео-хостинга. У него сложная
>

складывается ощущение, что перескакивание с "а вот есть еще PeerTube",
заставляет как-то пытаться связать
новый вопрос с предыдущим тредом, и связь неочевидна.

выскажу осторожное предположение, что может стоит лимитировать один вопрос
на тред


> конфигурация nginx, и такой вариант конфигурации применить сложно,
> спокойно можно что-то упустить, особенно пользователю, который
> глубоко не разбирается в Nginx. Видеоплатформа позволяет выводить
> статику в отдельные домен, но только с использованием S3 хранилища.
> Получается, что для Peertube, лучшим вариантом будет отключить
> протокол HTTP/2, активировать кTLS и использовать только протоколы
> HTTP/1.1 и HTTP/3.
>
> > Но смысла в этом не очень много, так как при включённом HTTP/2
> > рассчитывать на клиентов, которые придут по HTTP/1.x, не имеет
> > особого смысла, таких клиентов будет исчезающе мало.  Если хочется
> > получить высокую производительность при скачивании больших файлов,
> > и при этом использовать HTTP/2 (и/или HTTP/3), то имеет смысл
> > заводить отдельный виртуальный сервер, в котором разрешать только
> > HTTP/1.x (а также sendfile и kTLS), и раздавать файлы с него.
>
> > Для HTTP/3 не работают ни kTLS, ни sendfile, соответственно
> > влияния на производительность HTTP/3 от включения kTLS не будет.
>
>
> --
> С уважением,
>  Izorkin                          mailto:izorkin на gmail.com
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> https://mailman.nginx.org/mailman/listinfo/nginx-ru
>
----------- следующая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20240106/1aa3c623/attachment-0001.htm>


Подробная информация о списке рассылки nginx-ru