Компания Google открыла
исходные тексты Apache-модуля mod_pagespeed, который
за счет выполнения в автоматическом режиме ряда оптимизаций призван
помочь web-мастерам и администраторам ускорить работу web-сервера без
переработки web-приложений. Оптимизации не касаются работы сервера и
работают через изменение содержимого отдаваемого HTML, CSS и JavaScript
контента на основе заданного набора
фильтров и перепаковку JPEG и PNG изображений. Для уменьшения числа
проводимых на лету модификаций, измененные объекты кэшируются на
локальном диске.
Код модуля предназначен для работы с Apache 2.2.x и
распространяется в рамках лицензии Apache 2. Открытие кода
рассматривается как очередной шаг в развитии инициированной в прошлом
году инициативы по оптимизации скорости работы Web. Ранее был
опубликован набор инструментов Page Speed,
предназначенных для выявления узких мест конфигурации http-сервера и
оптимизации загрузки web-приложений. Теперь большинство из ранее
представленных рекомендаций по оптимизации могут быть применены на лету.
В настоящее время mod_pagespeed включает в себя 15 выполняемых на
лету оптимизаций, ускоряющих работу различных аспектов
производительности web-сервера. Например, проводится
оптимизация кэширования, сокращается
число запросов/ответов, уменьшается
размер отдаваемых и принимаемых от клиента данных. Тестирование
показало, что для типичных web-страниц при использовании mod_pagespeed
наблюдается сокращение времени загрузки страниц до двух раз. Модуль
полностью готов для промышленного применения и прекрасно зарекомендовал
себя при проведении тестового внедрения хостинг-провайдером Go Daddy,
который в ближайшем будущем планирует предложить mod_pagespeed для своих
8.5 миллионов клиентов.
Из оптимизаций,
которые трудно реализуемы вручную, но с которыми прекрасно справляется
mod_pagespeed, отмечаются:
- Внесение изменений в генерируемые CMS-системами
web-страницы, без изменения кода используемой системы управления
web-контентом. Используется gzip и deflate сжатие контента, чистка и
минимизация CSS, удаление лишних тэгов в HTML, сокращение размера
JavaScript-кода, объединение нескольких JavaScript/CSS-файлов;
- Переупаковка изображений в ситуациях изменения
HTML-контекста (уменьшение разрешения, если не совпадают фактическое
разрешение и указанное IMG-тэге);
- Увеличение времени жизни изображений в браузерном
кэше до года, оставляя возможность их модификации в любое время.
Проводится оптимизация использования заголовков Expires, Cache-Control и
Last-Modified;
|