необхідні вимоги
Для використання модуля mod_pagespeed ваш комп'ютер повинен працювати під управлінням 32- або 64-розрядної операційної системи Linux; на ньому повинен бути встановлений Web-сервер Apache версії 2.2 або вище з модулем mod_deflate.
В даний час модуль mod_pagespeed не підтримуються в операційній системі Windows і старіших версіях Apache (судячи по документації і відповідей на типові запитання, я б також не розраховував на появу такої підтримки в найближчому майбутньому).
Apache-модуль mod_pagespeed компанії Google розроблений у вигляді "drop-in" модуля, який можна "покласти" в установчу директорію Web-сервера і відразу отримати збільшення швидкості обробки Web-сторінок. Якщо конфігурація вашого Web-сервера не настроєна на оптимальну продуктивність або якщо ви точно не знаєте, як можна підвищити її, то mod_pagespeed може виявитися відповідним рішенням. Наприклад, якщо ви ведете блог під керуванням Wordpress, то використання mod_pagespeed забезпечить величезний виграш в швидкості.
Модуль mod_pagespeed поєднує в собі кращі рішення по оптимізації завантаження Web-сторінок і автоматично виконує всі необхідні дії.
Визначаємо поняття швидкості
Незалежно від швидкості Інтернет-підключення нам завжди хочеться, щоб Web-сторінки завантажувалися швидше. Власники Web-серверів, які відправляють нам вміст Web-сторінок, також хочуть робити це швидше з двох причин: компанії з повільними серверами втрачають клієнтів, а компанії з швидкими серверами, що забезпечують швидке завантаження окремих сторінок, можуть використовувати звільнені ресурси для обслуговування додаткових клієнтів. Навіть якщо ви заходите на сторінку якоїсь компанії всього лише раз в день, інші клієнти можуть звертатися до цій же сторінці 100000 раз в день. Для таких компаній навіть невелика затримка при завантаженні сторінки є дуже суттєвою.
З точки зору Web-сервера найкращим способом збільшення швидкості (без заміни апаратної частини) є більш швидка відправка дрібніших обсягів даних. Якщо підійти до питання більш детально, то це означає, що краще зменшувати затримку (т. Е. Час відгуку) комп'ютера і обсяг переданих даних (т. Е. Кількість переданих фізичних кілобайт). Таким чином, для "прискорення" Web-сайту як з точки зору Web-сервера, так і з точки зору користувача необхідно зменшити і затримку сервера, і розмір переданих даних.
Як можна збільшити швидкість
Максимальне використання кешу
Фактично Web-браузери отримують команди на кешування від сервера. Web-сервер може повідомляти про те, як довго завантажуються з сервера елементи даних повинні вважатися достовірними. Сервер може супроводжувати такими командами кожен файл. Наприклад, сервер може вказати Web-браузеру помістити в кеш файл JS, CSS або JPG, але не HTML- або TXT-файл. Більш того, сервер може сказати Web-браузеру, наприклад, про те, що "файли CSS і JPG будуть актуальними протягом одного року". Web-браузер отримує це повідомлення і інтерпретує його наступним чином: "була отримана JPG-файл, який не зміниться протягом року, так що з цього моменту при зверненні до даного файлу з будь-якої сторінки сервера слід використовувати його локальну копію".
Мінімізація кількості звернень до сервера
При передачі сервером в Web-браузер будь-яких файлів для кожного файлу встановлюється окреме HTTP-з'єднання, що призводить до накладних витрат. Іншими словами, кожен файл вимагає наявності каналу взаємодії між сервером і Web-браузером. На найпопулярніших Web-сайтах файли передаються у величезних кількостях, і кожен раз сервер повинен виконувати певні службові процедури, витрачаючи на це час. Таким чином, зменшення кількості звернень до сервера знижує кількість часу, яке сервер повинен витрачати на їх обслуговування.
Основний спосіб реалізації цієї ідеї очевидний: Web-сторінка повинна містити якомога менше файлів, які повинні передаватися клієнту. Наприклад, якщо ваша сторінка містить 10 зображень, то для її завантаження може знадобитися створити 10 HTTP-з'єднань. Однак можна зменшити необхідну кількість з'єднань, скомпонувавши ресурси в мінімальну кількість файлів - наприклад, помістити в один файл все модулі jQuery або об'єднати всі маленькі зображення в одне велике і показувати його потрібні фрагменти з допомогою CSS.
Мінімізація обсягу службових даних в запиті
При завантаженні кожної Web-сторінки браузер отримує від сервера певну інформацію, включаючи cookie-файли та виклики POST і GET. Природно, на це витрачається певний час, оскільки інформація cookie-файлів повинна передаватися на сервер при кожному завантаженні сторінки клієнтом. Деякі Web-сайти зберігають в cookie-файлах тонни інформації, і чим її більше, тим більше часу необхідно витрачати на її передачу.
Існує більш кращий варіант, при якому cookie-файл містить мінімальну кількість даних (наприклад, тільки ідентифікатор користувача) і служить ключем для пошуку необхідної інформації в базі даних. Такий підхід різко знижує час передачі необхідної інформації на сервер.
Мінімізація розміру переданих даних
Оптимізація виведення вмісту Web-браузером
Однак досить міркувань. Приступаємо до завантаження і роботі з mod_pagespeed. Зрештою нам обіцяють, що досить помістити цей модуль в директорію установки Apache, і нам не доведеться турбуватися про всі деталі настройки швидкодії.
Завантаження, інсталяція і настройка модуля mod_pagespeed
Завантажте пакет (див. Посилання в розділі Ресурси) і запустіть відповідну команду Linux для його інсталяції на комп'ютер.
Після інсталяції модуль mod_pagespeed ще ніяк не пов'язаний з сервером Apache. Давайте зробимо це. Після установки mod_pagespeed я рекомендую для простоти скопіювати файл pagespeed.conf з його встановленої директорії в директорію Apache conf. Також скопіюйте файл mod_pagespeed.so в директорію Apache modules. Нарешті, створіть директорії, в яких будуть зберігатися кешированниє файли і файли, згенеровані модулем (я назвав ці директорії cache і files відповідно).
Далі необхідно вказати Apache використовувати модуль mod_pagespeed, для чого потрібно відредагувати файл http.conf. Додайте в кінці цього файлу наступний рядок:
Лістинг 1. Редагування конфігураційного файлу Apache http.conf
Далі необхідно відредагувати файл pagespeed.conf і вказати правильний шлях до наших файлів і тек:
Редагування файлу pagespeed.conf
Нарешті, можна запускати сервер Apache.
Перевірка успішної інсталяції mod_pagespeed
Щоб переконатися в тому, що модуль mod_pagespeed успішно встановлений, потрібно перевірити кілька моментів. По-перше, сервер Apache повинен успішно запуститися (в іншому випадку ви невірно виконали процедуру install / configure для mod_pagespeed). По-друге, потрібно перевірити директорію "cache" і переконатися, що mod_pagespeed успішно записує в неї дані.
Тепер відкрийте якусь сторінку вашого Web-сайту (вона повинна містити файли JS або CSS). Після цього загляньте в директорію "cache". У ній ви повинні побачити упаковані файли або архіви GZip, які є стислими копіями файлів JS або CSS (т. Е. Тих файлів, які можуть бути стиснуті). Це буде першою ознакою успішної інсталяції та налаштування модуля mod_pagespeed.
Вітаю! Успішна перевірка директорії "cache" і заголовка відповіді означає, що ви правильно змонтували та налаштували модуль mod_pagespeed.
тестування mod_pagespeed
Якщо ви хочете протестувати модуль mod_pagespeed, перш ніж запустити його в роботу, ви можете виконати всі вищеописані кроки і відключити модуль у файлі pagespeed.conf до тих пір, поки він не буде потрібно (видаляти настройки, зроблені в файлі http.conf сервера Apache, що не потрібно). Модуль mod_pagespeed можна ввімкнути або вимкнути в файлі pagespeed.conf за допомогою параметра ModPagespeed on в десятому рядку. Щоб ці зміни вступили в силу, необхідно перезапустити Apache.
висновок
Більшість адміністраторів Web-сайтів розуміють всю важливість швидкого завантаження сторінок, але мало хто з них є серйозним фанатом Linux і відстежує статистику і максимальний час завантаження. Для більшості Web-адміністраторів ідеально підходить такий простий інструмент, як mod_pagespeed - проста установка, що практично не вимагає настройки, і істотне прискорення завантаження Web-сторінок для користувачів.