Печать
Категория: Ubuntu
Для ускорения выполнения php скриптов существуют так называемые акселераторы.

Суть их в том, что один раз вызванных php скрипт компилируется и попадает в кеш акселератора. После чего при повторном обращении к скрипту он уже отдается в откомпилированном виде. Что очень сильно сказывается на нагрузке на сервер, так как теперь не нужно каждый раз компилировать заново скрипт.

 

Использование акселератора в несколько раз уменьшает время генерации страницы, а так же уменьшает нагрузку на процессор сервера. Так у меня после настройки Xcache на сервере количество используемого процессорного времени уменьшилось практически в двое. А так как я использую для размещения своих сайтов виртуальный сервер, где плачу только за использование ресурсов, использование php-акселератора уменьшает итоговою стоимость аренды сервера.

Итак приступим к установке на сервер акселератор php кода - Xcache .

Я использую на сервере операционную систему Ubuntu 10.04 , но и на более новых, например недавно вышедшей Ubuntu LTS 12.04 14.04 с долговременной поддержкой, все будет выглядеть так же. Так же все работает на Debian 7.

Устанавливаем:

sudo apt-get install php5-xcache

Установится последняя стабильная версия, по этому ничего компилировать не нужно.

После установки открываем файл конфигурации в /etc/php5/conf.d/xcache.ini

У меня он выглядит так:

xcache.size = 128M

xcache.count = 14

xcache.slots = 8K

xcache.ttl = 36000

xcache.gc_interval = 36000

xcache.var_size = 8M

xcache.var_count = 14

xcache.var_slots = 8K

xcache.var_ttl = 36000

xcache.var_maxttl = 604800

xcache.cacher = On

xcache.stat = On

Основные параметры:

xcache.size - отвечает за количество памяти для хранения кеша. Если значение будет слишком маленьким, то эффекта от кеширования толком не будет.

xcache.count — количество блоков, на которые будет делиться кеш. Рекомендуется выставлять по количеству ядер процессора.

xcache.slots - Количество слотов под кеш, чем больше слотов, тем больше скорость поиска в кеше. Но и увеличивается потребление памяти. Рекомендуется оставлять значение по умолчанию: 8K

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

xcache.gc_interval — интервал запуска сборщика мусора в секундах. Определяет промежуток времени, через который будет запускться сборщик мусора. Запустившись, он ищет записи с истекшим временем жизни(xcache.ttl ) и удаляет их из кеша.

Два последних параметра(xcache.ttl и xcache.gc_interval ) очень важны в настройке Xcache, но на многих сайтах значения данных параметров выставлены в 0, соответственно из кеша ничего не удаляется, и при полном заполнении новые скрипты уже в него не попадают. То есть, если вы разместите на сервере новый сайт, то его скрипты уже не попадут в кеш, так как он полностью заполнен скриптами предыдущего сайта.

Параметры начинающиеся с xcache.var_ отвечают за кэширования результатов вычислений. И их параметры аналогичны.

После сохранения настроек следует перезапустить вебсервер.

sudo /etc/init.d/apache2 restart

Просмотр статистики Xcache

У Xcache есть своя админка, которая позволяет просматривать текущее состояние и очищать кеш.

Что бы она заработала, нужно скопировать папку admin из /usr/local/share/examples/xcache/admin/ в каталог вашего сайта.(Ubuntu)

В Debian 7 данный каталог лежит по пути /usr/share/xcache

Но перед этим следует установить пароль в файле конфигурации. За это отвечают параметры

xcache.admin.enable_auth

xcache.admin.user= «user»

xcache.admin.pass= «password»

пароль нужно указывать как md5хеш для большей надежности.

Получить md5хеш можно выполнив

phpecho md5("password");?>

или можно получить хеш например на сайте

http://mainspy.ru/shifrovanie_md5

Slots — Количество слотов под кеш, чем больше слотов, тем больше скорость поиска в кеше. Но и увеличивается потребление памяти. Рекомендуется оставлять значение по умолчанию: 8K

Size — размер памяти под Xcache.

Avail — сколько памяти осталось.

Clear — сбросить кеш.

Hits — сколько обращений к файлам было сделано

Misses — сколько обращений к файлам было сделано, но этих файлов в памяти не оказалось.

Clogs — временно заблокированных файлов в кеше.

OOMs — Количество файлов которые не смогли попасть в кеш изза нехватки памяти.

Cached — Общее количество файлов в кеше.

Нижняя таблица показывает какие файлы кэшируются и насколько эффективно.

Hits — кол-во обращений к этому скрипту в памяти. Чем больше — тем лучше. Если для некоторых файлов долгое время это значение меньше 10, то значит этот файл редко используется, и лишь занимает место в памяти.

Size — размер этого файла в памяти. Вот тут самое интересное. Получается, что откомпилированный файл занимает в памяти в 10 раз больше места, чем на диске. OMG!

SrcSize — размер файла на диске

Access — как давно обращались к этому файлу

Create — сколько времени этот файл лежит в кэше

 

Виртуальный сервер арендую у Рувеба RuWeb.net - гибкий хостинг Цены и техподдержка радуют.