Я оценки того, что я могу получить для моего веб-сайта от http2 с точки зрения производительности и получить странный результат - сайт в Европе загружается из США:Почему HTTP/2 медленнее обычного HTTPS?
- с HTTP/2 - через 6-7 секунд
- с простым HTTPS - через 5-6 секунд (примерно 1 секунду быстрее)
Я захват скриншоты из сетевого монитора Chrome, и это выглядит как с HTTP/2 большой частью ресурсов загружаются один за другой, а не параллельно, как в случае простого SSL.
Для тестирования я использую мое веб-приложение, охватываемое Apache 2.4.17 (Win32) в качестве прокси (для применения поддержки протоколов HTTP/2 & HTTP/2). Клиентский браузер Chrome 46.0.2490.86 в Windows 7.
Ниже приведены сетевые запросы с захватом. Краткое описание: 1. Fist one - HTML-страница 2. Следующая группа - 6 запросов - ресурсы, объявленные непосредственно в HTML 3. Остальные ресурсы добавлены динамически через скрипт (теги «script» и «link/css» в документе /глава).
В левой части изображения находится HTTP/2, правая сторона - тот же персонал через простой SSL (http2_module выключен).
Update: Я проверил "кое-что еще", что поддерживает HTTP/2 в качестве обратного прокси-сервера. Это nginx 1.9.7.1 Kitty от http://nginx-win.ecsds.eu - вилка оригинального nginx 'для окон'. HTTP/2 в оригинальном nginx доступен только in commercial version, поэтому я не мог попробовать. И похоже, что нет никаких других реализаций сервера HTTP/2 + обратного прокси-сервера для окон, или я просто не мог найти их (список here и here).
Результат, который я получил с Китти, еще более вводит в заблуждение - в Apache нет «последовательной нагрузки» ресурсов, но скорость передачи данных в два раза медленнее по HTTP/2, чем по сравнению с обычным SSL. Конечный результат - HTTP/2 значительно медленнее обычного SSL. Ниже они все рядом.
Из всего этого я могу только предположить, что производительность сильно зависит от реализации, а доступная в настоящее время реализация выполняет странно, чтобы сделать последовательное заключение о HTTP/2.
Что говорят заголовки ответа? Вы абсолютно уверены, что Apache настроен правильно для отправки HTTP/2? FYI, некоторые браузеры могут не отображать версию правильно, посмотрите на https://eting.github.io/mod_h2/howto.html. –
Ответные заголовки, отображаемые Chrome, не говорят мне ничего полезного :(Я почти уверен, что HTTP/2 действительно «включен», потому что этот аддон (https://chrome.google.com/webstore/detail/http2-and- spdy-indicator/mpbpobfflnpcgagjijhmgnchggcjblin/related) показывает значок HTTP/2, а поведение сети отличается от простого SSL - выполняется только одно SSL-подтверждение. –
@XtraCoder Просто щелкните правой кнопкой мыши в заголовке сетевой панели devtools, то же самое на рисунке который вы прикрепляете, и найдите столбец «протокол». Но из цифры видно, что первая половина использует HTTP/2 или SPDY. – dsign