Тестируем Nginx c HTTP/3 и QUIC с доработками от VK.com
ฝัง
- เผยแพร่เมื่อ 25 ส.ค. 2024
- Более года назад мы сделали обзор на раннюю версию nginx-quic, проекта по внедрению HTTP/3 и QUIC в Nginx.
Вот это видео: • HTTP/3 и QUIC уже в Ng...
За прошедшее время проект активно развивался, и, что самое главное, недавно внедрён в прод для социальной сети VK.com. Для этого команда VK доработала исходный проект nginx-quic и выложила его на github: github.com/VKC...
Мы решили, что пора вернуться к этой теме и попробовать, как сейчас работает HTTP/3 в Nginx с доработками от VK и что может дать в разрезе скорости загрузки сайтов.
Стоит ли HTTP/3 использовать уже сейчас? Разбираемся в видео.
Команды и параметры из видео: github.com/Nic...
Все ссылки из видео:
www.nginx.com/...
quic.nginx.org/
github.com/VKC...
На этом канале мы создаём максимально полезные видео по вопросам ускорения сайтов, веб-производительности и клиентской, а также серверной оптимизации.
Профессионально занимаясь ускорением сайтов, мы накопили значительный опыт, которым готовы поделиться с нашими зрителями и подписчиками. Так что присоединяйтесь, будет интересно!
Профессиональное ускорение сайтов: www.methodlab....
Тестирование скорости сайтов: xn--80aanaoicz...--p1ai/
Сервис оптимизации картинок: www.fotorubka.ru/
Наш второй канал "Поддержка сайтов": / @site_support
Группа "Ускорение сайтов" в VK: sitespe...
Метод Лаб в VK: methodlab
Метод Лаб в Facebook: / methodlab.ru
огонь!
Благодарю !
Для ubuntu 22.04 такие зависимости нужны:
sudo apt install libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev libunwind-dev golang libxslt-dev libgd-dev libgeoip-dev libperl-dev checkinstall
Очень интересную тему подняли! Спасибо!!!
Если будет возможность, дайте пожалуйста настройки для сборки текстом, а то глаза сломал пока разобрал параметры сборки NGINX )
Спасибо за труд! Уникальный контент!
Настройки для сборки могут отличаться, могу свои скинуть:
auto/configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_perl_module=dynamic --with-threads --with-stream --with-stream_ssl_module --with-stream_geoip_module=dynamic --with-http_slice_module --with-mail --with-mail_ssl_module --with-file-aio --with-http_v2_module --with-cc-opt='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -DTCP_FASTOPEN=23' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' --with-debug --with-http_v3_module --with-cc-opt="-I../boringssl/include" --with-ld-opt="-L../boringssl/build/ssl -L../boringssl/build/crypto" --add-module=/home/db/ngx_brotli
@@NickLavlinsky Большое спасибо!
@@NickLavlinsky огромная благодарность!
Как всегда годно все описано +
раньше еше лог текстовый команд был в описании к видео )) надо бы это вернуть.
Добавим
Добавили ссылку на команды.
@@NickLavlinsky респект. большое спасибо. тестим
Каким образом картинки приоретизируются?
Сделал всё по видео, ошибок нет но http/3 не работает в чём может быть причина?
Порты открыты и всё что только можно нагуглить я нашёл.
Как отдебажить и понять в чём проблема, есть какой-то чек лист что проверять?
Всё как обычно - проверяем открытый порт UDP, конфигурацию. Также нужно удостовериться, что работает тот Nginx, который вы собирали. Сейчас HTTP/3 уже включен в mainline.
А как её поставить можно? Я не пойму где бинарный файл есть в mainline там такой же source пакет, его просто собрать со своими конфигами и установить? И если да то нужно ли собирать бротли или можно подключить указав в конфиге при сборке nginx
получилось найти проблему? у меня сейчас тоже самое
@@old2386 да
@@old2386 просто поставь nginx 1.25.1 там всё из коробки, не нужно собирать ничего, если будешь использоваться для больше чем одного сайта отключи реюзпорт он не даёт работать на двух сайтах на одном nginx
Нету у вк http 3. Не подключается по этому протоколу
Есть, но не на всех хостах. Экспериментируют, видимо. Некоторые картинки отдаются с хостов st*.vk.com по HTTP/3.
@@NickLavlinsky есть еще тема WebTransfer за место нынешнего websockets. Тоже работает поверх http/3
@@Ilohimushka мб webtransport, а не webtransfer?
Выдает на этапе сборки BoringSSL вот такую ошибку "CMAKE_MAKE_PROGRAM is not set.", и хер ее знает как победить?! Ubuntu 21.04 LTS
Не постивили зависимости для сборки, смотрите, что пропустили.
@@NickLavlinsky теперь осталось повторить тоже самое в контейнере с Alpine и упаковать в Image. Спасибо за мануал!
[emerg] mkdir() "/var/cache/nginx/client_temp" failed (2: No such file or directory)
sudo mkdir /var/cache/nginx
sudo touch /var/cache/nginx/client_temp
Да, если нет директории, нужно её создать.