Jump to content
sitecreator

пора переходить на HTTP/2

Recommended Posts

Интереса ради (да и ради получения опыта) перевел несколько проектов на данный протокол.

(https должен уже работать перед этим).

 

Новейший протокол сулит определенные преимущества, некоторое снижение нагрузки на сервер и ускорение загрузки.

Но я почему-то не вижу, чтобы данный протокол использовался на высоконагруженных проектах (магазины на Опенкарт или данный форум, к примеру).

 

Все современные браузеры его поддерживают, старые же будут работать просто по старому протоколу.

 

Да, просто так в ISPmanager путем нажатия на кнопки данный вопрос не решается.  Нужно чтобы, как минимум, ваш веб-сервер был построен с OpenSSL 1.0.2 (или выше), в противном случае при тестировании вы получите ошибку:

 

f884f680ce.jpg

Ну сборка вебсервера из исходных кодов или установка из репозитория - это ведь не вопрос для людей, имеющих опыт администрирования серверов.

--------------

 

Так пора или не пора, господа? И почему не используете?

разве не логично перевести магазин с 100К+ товаров на протокол HTTP/2, и тем самым получить определенную оптимизацию нагрузки на сервер?

 

Edited by sitecreator

Share this post


Link to post
Share on other sites
35 минут назад, sitecreator сказал:

(https должен уже работать перед этим)

Ответ кроется в вопросе :)

Share this post


Link to post
Share on other sites
2 минуты назад, destreser сказал:

Ответ кроется в вопросе :)

 

нет, не кроется, на мой взгляд.

 

https - это требование времени. Переход на него прост, сам сертификат при желании получается и продлевается бесплатно. Я специально говорил про высоконагруженные сайты, они и так уже используют https и хостятся, как минимум, на VPS или на выделенном сервере.

 

Т. е. https уже используют, а http 2 не спешат использовать. Как пример - это наш форум. Известно ведь, что на него были потрачены большие силы (воплощены всякие передовые идеи, php 7 и т. д.) чтобы сделать его работу стабильной.  Так почему бы не воспользоваться еще одной передовой возможностью?

 

Просто высказываю это как предложение сделать лучше. Если есть есть возражения, что это может что-то ухудшить, то было бы интересно их услышать.  Я пока не встречал описаний негативных последствий.  Гугл, например, как продвинутая компания активно использует данный протокол.

 

Share this post


Link to post
Share on other sites

sitecreator, Вот у меня вопрос к вам возможно я не СисАдмин (а точнее я не СисАдмин) Но как например http2 может уменшить нагрузку на сервер ??? По моих мыслях он может уменшить время на откритие запроса или отправку данных но это доли милисекунд и смысла в этом не много???

Тут такая же ситуация как с Node JS да он намного быстрее PHP ну что то я не заметил что все перешли на НОД ??? Почему ?? Просто не все так просто как кажется. и 100% требует большых затрат чем старый добрый хоть из своими недостатками зато Стабильный и протестированный в большых маштабах 

  • +1 1

Share this post


Link to post
Share on other sites
1 час назад, konorws сказал:

По моих мыслях он может уменшить время на откритие запроса или отправку данных но это доли милисекунд и смысла в этом не много???

 

одно мультиплексирующее соединение для массы файлов вместо открытия для каждого файла своего соединения должно же принести свою выгоду? Тем более, что на количество одновременных соединений существует лимит. Лимит как в браузере, так и на сервере.

 

Я не делал сравнительного анализа в цифрах. И я его не видел пока у других.  Мне самому интересно сравнение.  Если одновременно 50 пользователей заглянут на страницу, то как проявится разница в использовании протоколов?

 

Как минимум можно ожидать повышение запаса прочности сервера. 

 

Для меня данный вопрос новый.  Если подскажите методику как нагрузить сервер одновременно в 100 пользователей на одну страницу, то буду благодарен. нужно два эксперимента как минимум. в 1-м случае все 100 пользователей используют старый протокол (https), а вот втором случае эти же пользователи используют новый протокол.  Разумеется, что условия должны быть равные.

Вот как организовать такой эксперимент я пока не знаю.

 

Пока чисто теоретические представления в основном.

Share this post


Link to post
Share on other sites
58 минут назад, konorws сказал:

sitecreator,  http://loaddy.com/

 

не подойдет.  протокол невозможно поменять. только 1.0, даже не 1.1

 

08b6636ff9.jpg

 

 

под 2.0 имеет смысл тестировать.

 

4526c69eb3.jpg

 

cc439eac92.jpg

 

Запросы делались из Германии, что не очень то правильно. Откуда цифра 0.54 сек?

Пока делался тест, я в это же время заходил из разных браузеров и получил время генерации страницы на уровне 120 ... 150 мс.

У гугла измеренное время генерации страницы, похоже, что такое же как и у меня, в противном случае он верещит если оно более 200мс.

 

Как грубый нагрузочный тест сойдет, но не более того. Здесь нужен тонкий инструмент.  Поэтому и говорю, что пока не знаю как сделать сравнительный анализ.

 

 

Share this post


Link to post
Share on other sites
5 часов назад, sitecreator сказал:

Так пора или не пора, господа?

Давно пора и я больше года назад начал его использовать. Ещё до того, как Хром с Мозиллой поудаляли NPN, так что я ставил nginx из официальных репозиториев nginx, а он там до сих пор собирается с OpenSSL 1.0.1. Теперь на новые серверы ставлю из бекпортов, где он собран с OpenSSL 1.0.2, но на рабочих пока не переустанавливал.

 

 

4 часа назад, konorws сказал:

Но как например http2 может уменшить нагрузку на сервер ???

Создание TCP соединения - это дополнительные ресурсы. В HTTP/2 нужно одно соединение для загрузки всех файлов страницы, в предыдущих версиях протокола нужно по отдельному соединению на каждый запрос.

Но смысл HTTP/2 не в снижении нагрузки на сервер, а в ускорении загрузки страницы. И больше, чем на доли миллисекунд.

 

4 часа назад, konorws сказал:

Тут такая же ситуация как с Node JS да он намного быстрее PHP ну что то я не заметил что все перешли на НОД ??? Почему ??

Прежде всего по той же причине, по которой Python используют только бородатые айтишники - хостинг. PHP до сих пор держит такую высокую  популярность только из-за того, что он есть на любом хостинге (и в большинстве случаев достаточно пригоден для использования). Хочешь сделать массовый продукт - берёшь PHP. Но при этом никто в здравом уме не возьмёт пых для какого-то серьёзного корпоративного проекта.

YouTube, Pinterest, Instagram - всё Python. А FB и VK пришлось написать собственные интерпретаторы пыха (VK вообще сделал собственную версию языка).

Ну, а Node.js активно используют в Яндексе, например. Плюс различные websocket серверы и отправка push уведомлений.

Но сравнивать Node.js и PHP - некорректно! Node.js - это не язык, а среда выполнения кода на js. Python 3.5 с asyncio и uvloop местами даже обходит Node.js по скорости. Думаю, если дать пыху асинхронную модель работы, он не особо уступит конкурентам. PHP ведь даже когда речь идёт про громоздкие приложения на фреймворках продолжает работать как скриптовый язык, то есть, пришёл запрос и приложение собирается с нуля. С опкешем по крайней мере уже нет чтения исходного кода из файлов, но это не особо кардинально меняет ситуацию, куча времени и ресурсов при каждом запросе расходуется зря.

  • +1 1

Share this post


Link to post
Share on other sites

https://css-tricks.com/http2-real-world-performance-test-analysis/

 

вот здесь проводились тесты для оценки полученного выигрыша.

 

Думаю, что можно для начала взять статичный html с сотней файлов (картинки и т.п) и попробовать оценить общее время загрузки сайта. Могу предположить, что по новому протоколу страница сайта целиком будет загружена быстрее.

 

сейчас проверю.

Share this post


Link to post
Share on other sites

здесь были результаты.

но поскольку инструмент для замеров был не очень точный, то я их убрал.  надо подумать о способе более точного измерения.

Edited by sitecreator

Share this post


Link to post
Share on other sites

sitecreator  Вот надо было вам тему запилить) жил спокойно, а тут новая хрень)

пошел ломать свой сервер....

ну и дибильный вопрос) в мозиле вкладка Профайлер для замера TTFB ? или где ? 

туплю и не вижу

 

Share this post


Link to post
Share on other sites

http/2 вещь хорошая, но как говорят сами хостеры (их ответы в блогах компаний) разница в скорости для пользователя минимальная. Скорее это для снижения нагрузки на сервер хостера. Да снизится  нагрузка на процессор, но опять же величина минимальная. Хотя для opencart актуальна так как обычно магазин загружает много изображений и внешних css и js файлов 

Share this post


Link to post
Share on other sites

Ну что, два дня ломания головы и http/2 установлен 

Что хочу сказать.....по мне так очень сомнительное улучшение

Сутки тестировал, результаты очень разные, от хорошего плюса до значительного минуса в скорости

Зрительно сайт грузится дольше и как то не "плавно" сверху вниз (если на холодную первый раз)

Из возможных плюсов, пришлось обновить сервер и openssl

возможно не зря, посмотрим

В общем для тех кто решит настроить протокол http/2 - особо радости нет и каких то явных зрительных плюсов нет ни одного

Наоборот возникают вопросы в необходимости этой затеи

Помониторю еще день два, потом возможно верну все назад

кому интересно затестить на живом примере -> st-sklad.ru

тестил здесь, раздел Compare https://www.dareboost.com

 

Возможно есть какие то проблемы по настройкам сервера, или опенкарта или кешеров или еще что то чего пока не знаю,  что может влиять на скорость при http/2

И работа всей системы не настроена оптимально на этот новый режим. 

 

Ну и скринов немного (этот тест вроде положительный, есть тесты в которых результаты обратные и скорость на http выше чем на http/2)

 

Скрытый текст

d22d6fc4cc51.png

 

Скрытый текст

22d4dc3674fa.png

 

Скрытый текст

90095cc44efc.png

 

Скрытый текст

8eb9ec85d703.png

 

Скрытый текст

5c1ce2430f31.png

 

Скрытый текст

4814285ad145.png

 

 

 

Edited by Blade
  • +1 1

Share this post


Link to post
Share on other sites
11 минут назад, Blade сказал:

Ну что, два дня ломания головы и http/2 установлен

 

Эти "попугаи" ничего не покажут для http/2
Загрузку CPU посмотрите (желательно при нагрузке, одинаковой ("синтетику" какую нибудь "натравите"))

Share this post


Link to post
Share on other sites

Сделал некоторый статистический анализ.

на странице вывел 400 товаров, соответственно 400 картинок.  JS отключил для чистоты эксперимента.  Кеш браузера не использовался.  Сделал порядка 10 замеров для протоколов HHTP и HHTP/2. чтобы сгладить статистические погрешности.  Поскольку замеры делал в 5 утра выходного дня, то фактор загрузки сайта посетителями можно не учитывать, т. к. его влияние стремится к нулю, ибо в это время крайне мало посетителей.

 

Выкладываю анализ загрузки картинок (как самой тяжелой части страницы).

Видно, что загрузка такого большого количества картинок происходит быстрее,  а общий объем передаваемой информации меньше.

 

79abd12fd4.jpg

 

 

f40bf75d46.jpg

Edited by sitecreator

Share this post


Link to post
Share on other sites

А почему объем данных изменился? Это ж чистые данные, без кеша со стороны сервера? Чет врубиться не могу.

Share this post


Link to post
Share on other sites
2 часа назад, destreser сказал:

А почему объем данных изменился?

Сжатие заголовков, которое есть в HTTP/2  и нет в предыдущих версиях протокола.

Share this post


Link to post
Share on other sites

Есть ли какие новые результаты по http2? Наткнулся на свежий коммент на одном форуме: https://www.opennet.ru/openforum/vsluhforumID3/113545.html#31

Там же ниже есть ссылка и на англоязычную статью: https://www.twilio.com/blog/2017/10/http2-issues.html

Интересно и ваше мнение

Share this post


Link to post
Share on other sites
20 минут назад, dexion сказал:

Есть ли какие новые результаты по http2?

 

А что может быть нового?

Работает стабильно.

 

Гугл повсеместно сам использует http2 и приветствует его использование на сайтах.

 

3f47cffcec.jpg

Share this post


Link to post
Share on other sites

@sitecreator а что думаете про сообщения по моей ссылке?

Share this post


Link to post
Share on other sites
9 минут назад, dexion сказал:

что думаете про сообщения по моей ссылке?

 

ну вы же сами их внимательно прочитали?

Что тут думать то? При неустойчивой связи проблемы будут на любом протоколе. Именно этот вывод делается в англоязычном источнике.

Share this post


Link to post
Share on other sites

@sitecreator да, но там речь идет о подвисании и блокировке соединения даже в новых вкладках, т.е. обычное ф5 на телефоне не поможет. А т.к. доля мобил уже давно превышает половину всего трафика, это может оказаться существенным недостатком.

Share this post


Link to post
Share on other sites

@dexion , думаю, что вы невнимательно читали. Прочитайте комментарии ниже статей.

На мой взгляд, очередная страшилка, высосанная из пальца.

 

Я пользуюсь 4G и 3G. Причем иногда 3G в условиях очень плохой связи вдали от населенных пунктов.  И не наблюдаю в таких условиях проблем, связанных именно с http 2.

В условиях плохой связи множественные соединения (http 1.*) будут не меньшим злом и также приведут к "подвисанию".

 

Если опасаетесь, то не используйте.

Гугл вот как-то не боится, что " доля мобил уже давно превышает половину всего трафика ".

У вас есть проблема с Гуглом на ваших мобилах?

Если Гугл не испытывает проблем, и пользователи Гугл не испытывают проблем с http2, то из-за чего сыр-бор?

 

Вот ежели случится повальная проблема с Гуглом и о ней станет известно миру, то тогда можно говорить о проблеме. Пока же я ее никак не наблюдаю и не могу воспроизвести.

Share this post


Link to post
Share on other sites

после обновления сервера openssl 1.02

Http/2 заработал но модули доставки перестали работать сдэк и боксбери в логах пишет [ERROR] Call ZipCheck failed: Empty response

а сдэк вот такую СДЭК: город доставки не определен!

как понимаю города и страну не видит модули где копать голову ломаю есть подсказки друзья? 

Share this post


Link to post
Share on other sites

Включил на сервере поддержку http2, ALPN...как сам OpenCart 2.3.0.2.3 перевести на новый протокол?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.