История изменений
Исправление
vinvlad,
(текущая версия)
:
При HTTP/2 у тебя вся передача между веб-обозревателем и сервером идет по одному TCP-соединению - все запросы мультиплексируются внутри этого соединения. Число мультиплексируемых запросов для каждого сайта можно настроить. Не знаю, как это делается в ingress-nginx, а в обычном Nginx для этой цели можно использовать директиву http2_max_concurrent_streams
.
При HTTP/1.1 веб-обозреватель устанавливает параллельно сразу несколько TCP-соединений, по которым на сервер по инету доставляются параллельно отдельные HTTP-запросы - ну т.е. необходимые данные действительно могут закачаться в веб-обозреватель быстрее чем при HTTP/2, поскольку передаются реально параллельно.
Для начала сравни скорость закачки просто одного файла - какой-нибудь картинки. Если будет сильно различаться, то можно уже искать какие-то более конкретные причины тормозов. В противном случае просто сам сервер или инет может тормозить.
Ну а вообще, если у тебя используется managed Kubernetes от какого-нибудь облачного провайдера или есть иная возможность использовать просто TCP-LoadBalancer в виде соответствующего Service-объекта, то можно просто подвязать его к Deployment, в Pod-ах которого крутится обычный Nginx, и настраивать этот Nginx как тебе удобно. HTTPS будет терминироваться непосредственно в соответствующих Nginx Pod-ах.
Исходная версия
vinvlad,
:
При HTTP/2 у тебя вся передача между веб-обозревателем и сервером идет по одному TCP-соединению - все запросы мультиплексируются внутри этого соединения. Число мультиплексируемых запросов для каждого сайта можно настроить. Не знаю, как это делается в ingress-nginx, а в обычном Nginx для этой цели можно использовать директиву http2_max_concurrent_streams
.
При HTTP/1.1 веб-обозреватель устанавливает параллельно сразу несколько TCP-соединений, по которым на сервер по инету доставляются параллельно отдельные HTTP-запросы - ну т.е. необходимые данные действительно могут закачаться в веб-обозреватель быстрее чем при HTTP/2, поскольку передаются реально параллельно.
Для начала сравни скорость закачки просто одного файла - какой-нибудь картинки. Если будет сильно различаться, то можно уже искать какие-то более конкретные причины тормозов. В противном случае просто сам сервер может тормозить.
Ну а вообще, если у тебя используется managed Kubernetes от какого-нибудь облачного провайдера или есть иная возможность использовать просто TCP-LoadBalancer в виде соответствующего Service-объекта, то можно просто подвязать его к Deployment, в Pod-ах которого крутится обычный Nginx, и настраивать этот Nginx как тебе удобно. HTTPS будет терминироваться непосредственно в соответствующих Nginx Pod-ах.