Увеличение скорости отклика Apache2, используя mod_pagespeed и memcached

Многие начинающие веб-мастера рано или поздно сталкиваются с задачей оптимизации сайта, чтобы он загружался максимально быстро. Скорость загрузки сайта зависит от многих параметров, в том числе от скорости отклика сервера на запросы. В случае если сайт имеет динамический контент, и разработан на какой-либо CMS, которая нагружает сервер лишними запросами, то скорость загрузки существенно падает, особенно на пике посещаемости сайта. Чтобы снизить количество запросов, можно использовать кеширование для объемных ресурсов веб-страницы.

Установка модуля Google PageSpeed.

Mod_PageSpeed — это модуль для веб-серверов Apache и и Nginx, который работает как фильтр вывода, обрабатывает запросы между браузером клиента и данными, которые отдает сервер, одновременно оптимизируя их. Лучшее решение для тех, кто не может разобраться почему его веб-сервер медленно выдает контент.

Данный модуль имеет открытый исходный код, также имеются готовые установочные пакеты для популярных дистрибутивов Linux, найти их можно на официальной страничке проекта.

Перейдем к процессу установки. Заходим в консоль сервера через SSH, затем загружаем по прямой ссылке установочный пакет. Я продемонстрирую процесс установки на примере VPS, под управлением ОС Debian Stretch, с веб-сервером Apache2.

wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_amd64.deb

Теперь установим пакет, сделать это можно командой dpkg.

sudo dpkg -i mod-pagespeed-beta_current_amd64.deb

После установки пакета, модуль должен активироваться автоматически, но установщик попросит нас перезагрузить веб-сервер, для того чтобы изменения вступили в силу.

sudo /etc/init.d/apache2 restart

Установка MemCached.

MemCached — это некоторая хеш-таблица, которая хранится в оперативной памяти, и доступна по сетевому протоколу. Примерная схема работы данной системы кеширования такова:

  1. Frontend обращается к MemCached, отправляет при этом Get() запрос, с доступом по определенному ключу.
  2. Если данные, соответствующие ключу обнаружены, они передаются Frontend’у.
  3. Если данные отсутствуют в кеше, то запрос передается Backend’y, в роли которого выступает сервер системы управления базами данных (например MySQL, MariaDB), данные с него записываются в таблицу MemCached, и одновременно выдаются Frontend’у.

Перейдем к процессу установки. MemCached доступен в репозиториях многих популярных дистрибутивов Linux, в Debian пакет устанавливается таким образом:

sudo apt install memcached php-memcached

После установки, проверим запустился ли процесс memcached.

ps -ef | grep -i memcached

Вывод должен быть примерно таким, как на скриншоте ниже:

Теперь отредактируем конфигурационный файл memcached.

sudo nano /etc/memcached.conf

Не буду приводить весь конфигурационный файл, только самые важные параметры:

# Кол-во используемой RAM
-m 256
# Порт для соединений
-p 11211
# Имя пользователя от имени которого стартует memcached daemon
-u memcache
# IP-адрес на котором прослушивается соединение,
# В данном случае, на локальном интерфейсе
-l 127.0.0.1

Сохраняем файл, затем перезагружаем memcached.

systemctl restart memcached

Теперь додавим memcached в автозагрузку.

systemctl enable memcached

Чтобы проверить работу, можно создать php скрипт с содержимым <?php echo phpinfo(); ?> в директории веб-сервера, и посмотреть есть ли в списках модулей memcached.

Таким образом можно быстро добиться лучшей производительности от своего веб-сервера, и заставить сайт загружаться быстрее.

 

ShiftHackZ

ShiftHackZ

Автор блога LocalHost // Blog. Интересуюсь компьютерными технологиями, системным администрированием и веб-разработкой. Днями напролет провожу время за своим компьютером и самосовершенствуюсь. Подробнее

Читайте также:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *