Site icon Блог cyber01

Ускорение Apache с помощью mod_pagespeed и Memcached в Ubuntu 15.04

В этой стать я расскажу вам, как уменьшить время загрузки страниц вашего сайта, для этого проведем ускорение apache с помощью mod_pagespeed и Memcached в Ubuntu 15.04. Время загрузки страницы это важный фактор в ранжировании страниц поисковыми системами. Вы можете протестировать время загрузки страницы с помощью сервиса Google PageSpeed Insights.

Pagespeed это модуль для Apache2, который оптимизирует и кеширует содержимое сайта, прежде чем оно будет передано браузеру. Mod_pagespeed использует по умолчанию файловое кеширование, в статье я расскажу как установить и настроить Mod_pagespeed,а также переключить кеш на Memcached.

 

Все операции я буду производить на готовом LAMP сервере под Ubuntu 15.04.

1. Установка mod_pagespeed

Для начала выясним, какую разрядность имеет операционная система сервера. Т.к. Google предоставляет .deb пакеты для 32 и 64-битных систем.

Для этого выполним следующую команду:

uname -a

В результате вы получите подобный вывод:

Здесь мы видим "x86_64", это означает, что у нас 64-битная система, иначе 32-битная.

Скачаем и установим mod_pagespeed:

Ubuntu 64 бита:

cd /tmp
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb 
dpkg -i mod-pagespeed-stable_current_amd64.deb

Ubuntu 32 бита:

cd /tmp
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.deb 
dpkg -i mod-pagespeed-stable_current_i386.deb

После чего перезапустим вебсервер Apache, чтобы mod_pagespeed создал файлы конфигурации:

service apache2 restart

2. Установка Memcached

Memcached доступен в стандартных репозиториях Ubuntu и может быть установлен следующей командой:

apt-get -y install memcached

Проверим, запустился ли memcached:

netstat -tap | grep memcached

В результате увидим подобное:

root@server1:/tmp# netstat -tap | grep memcached
tcp 0 0 localhost:11211 *:* LISTEN 1687/memcached

Я выделил порт, на котором работает Memcached, а именно 11211, он нам понадобится при настройке mod_pagespeed.

Если вы хотите, чтобы memcached работал также с PHP приложениями, а не только mod_pagespeed, установите расширение для PHP:

apt-get install php5-memcached

3. Настройка mod_pagespeed для работы с Memcached.

Откроем файл конфигурации mod_pagespeed в редакторе:

nano /etc/apache2/mods-available/pagespeed.conf

И найдем строку "ModPagespeedMemcachedServers":

[….] # ModPagespeedMemcachedServers localhost:11211
[….]

Раскомментируем эту строку, удалив # в начале строки.

Сохраним файл и перезапустим вебсервер Apache:

service apache2 restart

Теперь mod_pagespeed использует Memcached для хранения кеша. Посмотреть статистику использования Memcached можно с помощью следующей команды:

echo stats | nc 127.0.0.1 11211

В результате получим следующий вывод:

root@server1:/tmp# echo stats | nc 127.0.0.1 11211
STAT pid 1687
STAT uptime 134
STAT time 1440931897
STAT version 1.4.14 (Ubuntu)
STAT libevent 2.0.21-stable
STAT pointer_size 64
STAT rusage_user 0.000000
STAT rusage_system 0.008000
STAT curr_connections 5
STAT total_connections 6
STAT connection_structures 6
STAT reserved_fds 20
STAT cmd_get 0
STAT cmd_set 0
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 0
STAT get_misses 0
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 6
STAT bytes_written 0
STAT limit_maxbytes 67108864
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT bytes 0
STAT curr_items 0
STAT total_items 0
STAT evictions 0
STAT reclaimed 0
END

Прервать вывод информации можно, нажав Ctrl-C.

Также, вы можете использовать phpMemcachedAdmin и ему подобные, для просмотра статистики Memcached сервера.

Теперь протестируем скорость открытия сайта с помощью PageSpeed Insights. Первая проверка может не показать изменений т.к. кеш еще не сформирован, а вот последующие проверки должны давать хороший результат.

На этом всё 🙂

Exit mobile version