Тестируем 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

ความคิดเห็น • 33

  • @andreysakharov6210
    @andreysakharov6210 2 ปีที่แล้ว +2

    огонь!

  • @denissavast
    @denissavast ปีที่แล้ว +1

    Благодарю !

  • @denispanarin
    @denispanarin ปีที่แล้ว +3

    Для 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

  • @Edmyndo
    @Edmyndo 2 ปีที่แล้ว +2

    Очень интересную тему подняли! Спасибо!!!
    Если будет возможность, дайте пожалуйста настройки для сборки текстом, а то глаза сломал пока разобрал параметры сборки NGINX )
    Спасибо за труд! Уникальный контент!

    • @NickLavlinsky
      @NickLavlinsky  2 ปีที่แล้ว +3

      Настройки для сборки могут отличаться, могу свои скинуть:
      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

    • @Edmyndo
      @Edmyndo 2 ปีที่แล้ว +1

      @@NickLavlinsky Большое спасибо!

    • @InverserPro
      @InverserPro ปีที่แล้ว

      @@NickLavlinsky огромная благодарность!

  • @egorgorbachev
    @egorgorbachev 2 ปีที่แล้ว +1

    Как всегда годно все описано +

    • @egorgorbachev
      @egorgorbachev 2 ปีที่แล้ว

      раньше еше лог текстовый команд был в описании к видео )) надо бы это вернуть.

    • @NickLavlinsky
      @NickLavlinsky  2 ปีที่แล้ว

      Добавим

    • @NickLavlinsky
      @NickLavlinsky  2 ปีที่แล้ว +2

      Добавили ссылку на команды.

    • @egorgorbachev
      @egorgorbachev 2 ปีที่แล้ว +1

      @@NickLavlinsky респект. большое спасибо. тестим

  • @user-ge1fh8xl2v
    @user-ge1fh8xl2v หลายเดือนก่อน +1

    Каким образом картинки приоретизируются?

  • @ramilb.252
    @ramilb.252 ปีที่แล้ว +1

    Сделал всё по видео, ошибок нет но http/3 не работает в чём может быть причина?
    Порты открыты и всё что только можно нагуглить я нашёл.
    Как отдебажить и понять в чём проблема, есть какой-то чек лист что проверять?

    • @NickLavlinsky
      @NickLavlinsky  ปีที่แล้ว +1

      Всё как обычно - проверяем открытый порт UDP, конфигурацию. Также нужно удостовериться, что работает тот Nginx, который вы собирали. Сейчас HTTP/3 уже включен в mainline.

    • @ramilb.252
      @ramilb.252 ปีที่แล้ว

      А как её поставить можно? Я не пойму где бинарный файл есть в mainline там такой же source пакет, его просто собрать со своими конфигами и установить? И если да то нужно ли собирать бротли или можно подключить указав в конфиге при сборке nginx

    • @old2386
      @old2386 ปีที่แล้ว

      получилось найти проблему? у меня сейчас тоже самое

    • @ramilb.252
      @ramilb.252 ปีที่แล้ว

      @@old2386 да

    • @ramilb.252
      @ramilb.252 ปีที่แล้ว

      @@old2386 просто поставь nginx 1.25.1 там всё из коробки, не нужно собирать ничего, если будешь использоваться для больше чем одного сайта отключи реюзпорт он не даёт работать на двух сайтах на одном nginx

  • @Ilohimushka
    @Ilohimushka ปีที่แล้ว +1

    Нету у вк http 3. Не подключается по этому протоколу

    • @NickLavlinsky
      @NickLavlinsky  ปีที่แล้ว

      Есть, но не на всех хостах. Экспериментируют, видимо. Некоторые картинки отдаются с хостов st*.vk.com по HTTP/3.

    • @Ilohimushka
      @Ilohimushka ปีที่แล้ว

      @@NickLavlinsky есть еще тема WebTransfer за место нынешнего websockets. Тоже работает поверх http/3

    • @prostreyd
      @prostreyd ปีที่แล้ว

      ​@@Ilohimushka мб webtransport, а не webtransfer?

  • @i.am.rossalex
    @i.am.rossalex 2 ปีที่แล้ว

    Выдает на этапе сборки BoringSSL вот такую ошибку "CMAKE_MAKE_PROGRAM is not set.", и хер ее знает как победить?! Ubuntu 21.04 LTS

    • @NickLavlinsky
      @NickLavlinsky  2 ปีที่แล้ว +1

      Не постивили зависимости для сборки, смотрите, что пропустили.

    • @i.am.rossalex
      @i.am.rossalex 2 ปีที่แล้ว

      @@NickLavlinsky теперь осталось повторить тоже самое в контейнере с Alpine и упаковать в Image. Спасибо за мануал!

  • @denispanarin
    @denispanarin ปีที่แล้ว

    [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

    • @NickLavlinsky
      @NickLavlinsky  ปีที่แล้ว

      Да, если нет директории, нужно её создать.