Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Ускоряемся с помощью mod_pagespeed

Тема в разделе "Прокси, VPN", создана пользователем Frosty, 25 июн 2017.

?

Полезна ли была вам статья ?

  1. Да

    3 голосов
    60,0%
  2. Нет

    2 голосов
    40,0%
25.06.17 в 08:59
26.06.17 в 04:17
16
1.813
1
  1. TopicStarter Overlay
    Frosty

    Забанен

    Регистрация:
    31 мар 2017
    Сообщения:
    941
    Лучших ответов:
    1
    Рейтинги:
    +188 / 18 / -0
    Ускорение работы Web-сайта с помощью модуля от компании Google

    Разработанный компанией Google модуль mod_pagespeed для HTTP-серверов Apache ускоряет загрузку Web-страниц. В этом модуле, практически не требующем настройки, реализованы и автоматизированы все лучшие решения, обеспечивающие быстродействие работы Web-сайтов. Модуль mod_pagespeed позволяет быстро и легко ускорить работу Web-сайтов тем, кто занимается Web-хостингом.

     
    Введение
    Apache-модуль mod_pagespeed компании Google разработан в виде "drop-in" модуля, который можно "положить" в установочную директорию Web-сервера и сразу получить увеличение скорости обработки Web-страниц. Если конфигурация вашего Web-сервера не настроена на оптимальную производительность или если вы точно не знаете, как можно повысить ее, то mod_pagespeed может оказаться подходящим решением. Например, если вы ведете блог под управлением Wordpress, то использование mod_pagespeed обеспечит огромный выигрыш в скорости.

    Модуль mod_pagespeed сочетает в себе лучшие решения по оптимизации загрузки Web-страниц и автоматически выполняет все необходимые действия.

    Определяем понятие скорости
    Вне зависимости от скорости Интернет-подключения нам всегда хочется, чтобы Web-страницы загружались быстрее. Владельцы Web-серверов, отправляющих нам содержимое Web-страниц, также хотят делать это быстрее по двум причинам: компании с медленными серверами теряют клиентов, а компании с быстрыми серверами, обеспечивающими быструю загрузку отдельных страниц, могут использовать освобожденные ресурсы для обслуживания дополнительных клиентов. Даже если вы заходите на страницу какой-то компании всего лишь раз в день, другие клиенты могут обращаться к этой же странице 100000 раз в день. Для таких компаний даже небольшая задержка при загрузке страницы является очень существенной.

    В этой статье мы будем рассматривать понятие "скорость" с точки зрения пользователя и определим его как время загрузки Web-страницы. Быстрой считается та Web-страница, которая быстро загружается (например, страница www.google.com, время загрузки которой очень мало). И наоборот, медленной Web-страницей будет являться страница, расположенная, например, на старом компьютере Pentium II с процессором 600 МГц и содержащая 40 больших изображений; время загрузки такой страницы будет очень большим. Кроме того, Web-страница может быть очень быстрой, если ее посещают всего несколько человек в день, но если количество пользователей увеличится до нескольких тысяч за 10 минут, то время загрузки может оказаться чрезвычайно большим. Таким образом, понятие "скорость" определяется как время, необходимое для перемещения из точки А в точку Б, где точкой А является момент нажатия клавиши Enter после ввода адреса страницы в адресной строке, а точкой Б – полностью загруженная страница в Web-браузере клиента.

    С точки зрения Web-сервера самым лучшим способом увеличения скорости (без замены аппаратной части) является более быстрая отправка более мелких объемов данных. Если подойти к вопросу более детально, то это означает, что предпочтительнее уменьшать задержку (т. е. время отклика) компьютера и объем передаваемых данных (т. е. количество передаваемых физических килобайтов). Таким образом, для "ускорения" Web-сайта как с точки зрения Web-сервера, так и с точки зрения пользователя необходимо уменьшить и задержку сервера, и размер передаваемых данных.

    Как можно увеличить скорость
    Все возможные способы ускорения Web-сайтов разделяются на 5 категорий: максимальное использование кэша, минимизация количества обращений к серверу, минимизация объема служебных данных в запросе, минимизация размера передаваемых данных и оптимизация вывода содержимого Web-браузером. Отметим, что каждая из этих категорий содержит комплексные меры, такие как "максимизация" или "минимизация", и не предполагает простых решений (например, "включить" или "отключить" определенную опцию или параметр). Теперь перейдем к рассмотрению каждой из этих категорий и выясним, что предлагается сделать в каждом случае.

    Максимальное использование кэша
    Каждый Web-браузер может помещать загруженные файлы в локальный кэш, и, вместо того чтобы повторно загружать файлы с сервера, загружать их локальные копии. Конечно, это не совсем актуально для динамических Web-страниц (например, для блогов), но что насчет изображений, CSS- и JavaScript-файлов, которые загружаются вместе с Web-страницами? Эти файлы изменяются очень редко либо не изменяются вообще. Нет никакой необходимости каждый раз загружать с сервера один и тот же CSS-файл, особенно если этот единственный файл используется для всего Web-сайта. Если каждая загружаемая Web-страница использует один и тот же CSS-файл, то можно загружать его копию из локального хранилища, а не с сервера, поскольку эти копии одинаковые.

    Фактически 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-файл содержит минимальное количество данных (например, только идентификатор пользователя) и служит ключом для поиска необходимой информации в базе данных. Такой подход резко снижает время передачи необходимой информации на сервер.

    Минимизация размера передаваемых данных
    Файл размером в 20 КБ всегда будет передаваться быстрее, чем файл размером в 200 КБб. Эта составляющая оптимизации быстродействия включает в себя все известные методы – например, использование файлов GIF вместо файлов JPG, минимизация файлов JavaScript или отправка миниатюрных эскизов изображений вместо полных изображений всегда, когда это возможно.

    Оптимизация вывода содержимого Web-браузером
    Эта категория оптимизации требует определенных усилий. Она включает в себя использование оптимизированных CSS-селекторов, но зачастую случается, что разработчик вашего сайта не слишком заботился о производительности сервера. Кроме того, факторы этой категории меньше всего заботятся о ваших материальных затратах.

    Однако довольно рассуждений. Приступаем к загрузке и работе с 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
    Код:
    Include "{your-path-to-this-file}/pagespeed.conf"
    Далее необходимо отредактировать файл pagespeed.conf и указать правильный путь к нашим файлам и директориям:

    Редактирование файла pagespeed.conf
    Код:
    # at line 1 of the file
    LoadModule pagespeed_module {your-path-to-this-file}/mod_pagespeed.so
    Код:
    # down at line 25-26 in the file
    ModPagespeedFileCachePath "{your-'cache'-file-path-here}"
    ModPagespeedGeneratedFilePrefix "{your-'files'-file-path-here}"
    Наконец, можно запускать сервер Apache.
    Проверка успешной инсталляции mod_pagespeed
    Чтобы убедиться в том, что модуль mod_pagespeed успешно установлен, нужно проверить несколько моментов. Во-первых, сервер Apache должен успешно запуститься (в противном случае вы неверно выполнили процедуру install/configure для mod_pagespeed). Во-вторых, нужно проверить директорию "cache" и убедиться, что mod_pagespeed успешно записывает в нее данные.

    Теперь откройте какую-нибудь страницу вашего Web-сайта (она должна содержать файлы JS или CSS). После этого загляните в директорию "cache". В ней вы должны увидеть упакованные файлы или архивы GZip, которые являются сжатыми копиями файлов JS или CSS (т. е. тех файлов, которые могут быть сжаты). Это будет являться первым признаком успешной инсталляции и настройки модуля mod_pagespeed.

    Последняя проверка заключается в просмотре заголовка ответа, полученного от сервера. Сделать это можно с помощью таких инструментов, как Firebug или собственная утилита Google Page Speed, либо написав свой PHP-сценарий. Когда будете просматривать заголовок ответа, ищите в нем ссылку на тег "Modpagespeed", поскольку инструмент Google помечает ответы.

    Поздравляю! Успешная проверка директории "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-страниц для пользователей.

     
    • Нравится Нравится x 1
    • Смешно Смешно x 1
  2. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.204 / 74 / -0
    на ДЛЕ это делается так уже как с 2010 года. Аналогично и JS файлы сжимаются. Так же они находятся в папке /engine/cache/system/ с расширением архива GZ.

    Так же Gzip сжатие данных тоже встроено в ДЛЕ, и не требует дополнительных каких-то установок.

    дата оригинала вообще порадовала нихуяси 5,5 лет назад.
    2017-06-25_16-10-32.png
     
  3. Dr_Brown

    Dr_Brown Бывалый

    Регистрация:
    19 дек 2016
    Сообщения:
    568
    Лучших ответов:
    0
    Рейтинги:
    +160 / 4 / -0
    Думал все nginx юзают, но нет тут апач и моразм крепчает
     
  4. Den

    Den
    Команда форума VIP Кинотрафик v2

    Регистрация:
    19 окт 2015
    Сообщения:
    2.129
    Лучших ответов:
    0
    Рейтинги:
    +1.004 / 6 / -0
    Установил, сразу поплыл диз. Смотрю в код, а там к файлу стилей, привет от гугла в виде:
    Код:
    style/engine.css+styles.css.pagespeed.cc.nu_sgPh24e.css
    И вся эта хрень отдаёт 404 Not Found.
    Возможно какие-то конфликты с nginx и эта примочка рассчитана только на апач без кеширующего сервера.
    По Google Pagespeed прирост на 6 пунктов. При работе с сайтом ощутимых изменений в скорости нет.
    Отключил нах.
     
  5. DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.194 / 9 / -0
    byroot, поддерживаю. без подобных примочек достигается 100\100 по pagespeed и скорость запуска страницы в 0,3-0,5 сек. Единственный модуль который стоит купить и установить для оптимизации скорости это Miniposter PRO v2 by Sander. Минипостер+сервисы минимизации js и css файлов+правка .htaccess для принудительной записи в кеш браузера+клауд = профит
     
    • Нравится Нравится x 1
  6. Karabas Barabas

    Команда форума VIP Кинотрафик v2

    Регистрация:
    20 ноя 2015
    Сообщения:
    8.172
    Лучших ответов:
    1
    Рейтинги:
    +3.756 / 12 / -0
    Лучше бы сразу написал, что стоит взять его там то))
     
  7. DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.194 / 9 / -0
    дабы ссылки на левые ресурсы не вставлять написал название, легко гуглится)
     
    • Нравится Нравится x 1
  8. ckau

    Команда форума VIP Кинотрафик v2

    Регистрация:
    5 май 2016
    Сообщения:
    1.230
    Лучших ответов:
    4
    Рейтинги:
    +468 / 43 / -0
    Апач на киносайт ?)))) вроде 2017 на дворе или расчёт на то, что сайт больше 1000 уников не поднимется ?
     
  9. anime

    anime Бывалый

    Регистрация:
    21 фев 2017
    Сообщения:
    240
    Лучших ответов:
    1
    Рейтинги:
    +67 / 0 / -0
    Кто сказал, что апач больше 1000 уников не держит.
     
  10. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.292
    Лучших ответов:
    31
    Рейтинги:
    +3.892 / 96 / -0
    а ничего что Miniposter в плане seo херов?
     
  11. ckau

    Команда форума VIP Кинотрафик v2

    Регистрация:
    5 май 2016
    Сообщения:
    1.230
    Лучших ответов:
    4
    Рейтинги:
    +468 / 43 / -0
    держать он и 100000 держит при хорошем сервере, только скорость работы сайта падает катастрофически, легче nginx+php-fpm поставить и не морочиться никогда.
     
  12. DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.194 / 9 / -0
    Чем? В разметку например я обычную ссылку на картинку вставляю, для посетителей сжатые картинки вывожу
     
  13. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.292
    Лучших ответов:
    31
    Рейтинги:
    +3.892 / 96 / -0
    DomiTori он создает временные уменьшенные копии.
     
  14. Karabas Barabas

    Команда форума VIP Кинотрафик v2

    Регистрация:
    20 ноя 2015
    Сообщения:
    8.172
    Лучших ответов:
    1
    Рейтинги:
    +3.756 / 12 / -0
    Так чо лучше использовать?
     
  15. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.292
    Лучших ответов:
    31
    Рейтинги:
    +3.892 / 96 / -0
    Karabas Barabas что мешает создать уменьшенную нужную копию через загрузчик DLE?
     
  16. Karabas Barabas

    Команда форума VIP Кинотрафик v2

    Регистрация:
    20 ноя 2015
    Сообщения:
    8.172
    Лучших ответов:
    1
    Рейтинги:
    +3.756 / 12 / -0
    Кривые руки и нехватка ума
    тут должен быть смайл, но он проеб@лся куда-то Это шутка
    .)))
    На скок знаю, все почти используют минипостер, у кого есть он нулённый даж.
     
    • Нравится Нравится x 1
  17. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.292
    Лучших ответов:
    31
    Рейтинги:
    +3.892 / 96 / -0
    • Нравится Нравится x 1
Яндекс.Метрика