Одна из основных задач Айри — максимально ускорить отображение вашего сайта на всех устройствах. Это достигается, в том числе, за счет сжатия данных и исключения из них всей ненужной для браузера информации. Технологии Айри позволили существенно сократить размер страниц сайтов, даже в сжатом виде разница между исходными страницами и страницами в Айри составила 49,2% (почти в 2 раза меньше).
Как это достигается?
Gzip — наше все!
Еще 7 лет назад был выработан подход для максимального сокращения размера текстовых страниц — это сжатие и минимизация файлов. В тестах сжатие и минимизация показала выигрыш до 83% от исходных (несжатых) файлов (сжатие JavaScript, сжатие HTML, сжатие CSS). В частности, для статического сжатия файлов при помощи максимальной степени gzip (9) использовался следующий подход:
gzip -c -n -9 файл > файл.gz
Это давало ощутимый выигрыш при небольших серверных издержках.
Минимизация
Утилиты минимизации файлов, равно как и спецификации HTML, CSS, JavaScript уже давно устоялись и могут быть применены для большинства сайтов без каких-либо побочных эффектов. При этом нотация HTML5 предполагает значительное сокращение HTML-кода за счет удаления лишних кавычек и пробелов. Но этим почти не пользуются. Айри исправляет эту ситуацию.
Как показала практика, применение HTML-минимизации (в совокупности с минимизацией встроенного JavaScript и CSS кода) позволяет, как минимум, на треть сократить объем передаваемой информации. На 30%!
Zopfli — новое слово в архивации данных
Технологии сжатия тоже не стояли на месте, и был разработан алгоритм максимальной оптимизации размера архива (LZ77) — zopfli. По синтетическим тестам, zopfli давал выигрыш еще на 5% относительно уже сжатого файла (т.е. простой gzip может быть существенно улучшен путем поиска наиболее оптимального представления сжатой информации).
Если соединить все технологии вместе — то должна получиться настоящая сенсация, кардинально уменьшающая размер исходных файлов.
Результаты
Так и получилось. Выигрыш относительно исходного (сжатого) состояния для выборки из 100 сайтов, обслуживающихся в Айри, составил 49,2% (почти двукратное уменьшение размера). При этом веб-страницы запрашивались с исходного хостинга в сжатом виде. Для несжатого представления выигрыш еще больше — 86,4%.
Исходный размер (несжатый) | Исходный размер (с хостинга) | Минимизация + gzip | Минимизация + zopfli | |
---|---|---|---|---|
Размер | 9 935 643 | 2 670 320 | 1 415 524 | 1 355 291 |
Выигрыш | +372,1% | 0% | -47% | -49,2% |
На текущий момент, большинство сайтов уже отдают страницы и файлы в сжатом виде — этим достигается почти 4-кратное уменьшение размера исходных файлов (2,5 Мб против 10 Мб). Но этот результат можно улучшить еще вдвое — за счет технологий экстремального сжатия Айри, позволяющих сократить размер файлов еще вдвое (суммарный выигрыш в размере 86,4%).