Ровно четыре года назад компания Google анонсировала протокол SPDY, который задумывался как апгрейд для HTTP 1.1 с целью значительно повысить скорость работы всех типов соединений. SPDY позволяет вдвое уменьшить задержку (latency) при работе через HTTP. Делается это за счёт трёх методов: 1) мультиплексирование запросов; 2) расстановка приоритетов для запросов; 3) сжатие заголовков HTTP.
Первые «лабораторные» тесты SPDY показали увеличение скорости загрузки веб-страниц на 55%, в мобильных сетях — на 23%. Впрочем, независимые тесты на реальных сайтах не показали вообще никакой прибавки производительности. Одна из причин — у реальных сайтов ресурсы подгружаются с разных доменов, в том числе с тех, где нет поддержки SPDY.
За прошедшие четыре года многое изменилось. Сам SPDY оптимизирован и вырос до версии 3.1, и его решено сделать основой для протокола следующего поколения HTTP 2.0. Нынешняя реализация поддерживается во всех современных браузерах, в том числе Chrome, Opera, Firefox и даже Internet Explorer, в десятках серверных платформ и на многих крупных сайтах.
Вчера компания Google опубликовала результаты тестирования SPDY на собственных сайтах. Это не лабораторные тесты, а реальная статистика с миллионов пользовательских сессий с разными типами подключения к Сети, то есть с разной скоростью доступа.
В таблице указано изменение показателя задержки (latency) — времени между отправкой запроса и получением первого входящего события в браузере. Указано среднее по медиане значение, средний показатель для 5% самых быстрых соединений и для 95% остальных.
Google News | Google Sites | Google Drive | Google Maps | |
Среднее по медиане | -43% | -27% | -23% | -24% |
5% самых быстрых | -32% | -30% | -15% | -20% |
95% остальных | -44% | -33% | -36% | -28% |
В тестах использовался Chrome 29 и сравнивалась работа по HTTPS и SPDY.
Естественно, на других сайтах использование SPDY может не дать такого эффекта. Конкретный результат зависит от количества скачиваемого контента с посторонних ресурсов и от десятков других факторов.
В то же время Google говорит, что продолжает оптимизировать алгоритмы сжатия, управления потоком и приоретизации трафика в SPDY. Есть очень много интересных идей, так что к моменту принятия стандарта HTTP/2 этот протокол станет работать ещё более эффективно.
Автор: alizar