Дек 27 2008

Установка и настройка XCache

Оптимизация работы вебсерверов, ускорение их работы тема очень интересная, возможности развернуться в этой области предостаточно, инструментов тоже хватает. XCache относится к средствам ускорения работы PHP. Устанавливается XCache как дополнительный модуль PHP и служит для кеширования результатов выполнения скриптов в шаред мемори. По сравнению с eAccelerator, XCache показывает более ощутимые результаты, но в проектах, где объемы кеша очень большие — не совсем подходит. Все таки оперативная память не бесконечна. Установим XCache из портов:

cd /usr/ports/www/xcache/
make install clean

При установке доступен диалог настройки сборки, с единственным пунктом Enable code coverage dumper, по умолчанию она включена и служит для определения.предотвращения переполнения памяти.
По окончании установки, нужно скопировать файл настройки xcache.ini в /usr/local/etc/php/:

cp /usr/local/share/examples/xcache/xcache.ini /usr/local/etc/php/

и немного исправить.
У меня получился такой файл настроек:

[xcache-common]
extension = xcache.so
#Включим админ интерфейс
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "admin"
#В качестве пароля укажем md5 хеш, создать его можно с 
#помощью команды md5 -s "ваш пароль"
xcache.admin.pass = "XXXXXX"
 
[xcache]
xcache.shm_scheme =        "mmap"
#Выделим для кеша 128 мегабайт
xcache.size  =                128M
xcache.count =                 1
xcache.slots =                8K
xcache.ttl   =                 0
xcache.gc_interval =           0
xcache.var_size  =            0M
xcache.var_count =             1
xcache.var_slots =            8K
xcache.var_ttl   =             0
xcache.var_maxttl   =          0
xcache.var_gc_interval =     300
xcache.test =                Off
xcache.readonly_protection = Off
xcache.mmap_path =    "/dev/zero"
xcache.coredump_directory =   ""
xcache.cacher =               On
xcache.stat   =               On
xcache.optimizer =            On
 
[xcache.coverager]
xcache.coverager =          On
xcache.coveragedump_directory = ""

Настройка самого XCache закончена, остается сделать доступным админ интерфейс. Для этого я у себя скопировал /usr/local/share/examples/xcache/admin в документ рут своего вебсервера www.hilik.org.ua
После этого админ интерфейс станет доступным по URL http://www.hilik.org.ua/admin/
Конечно через этот интерфейс доступна только статистика, но все равно, это полезная функция.
Да и авторизация определена вами в xcache.ini.

  • By CyberMax, 09.05.2010 @ 17:13

    Сделал в xcache.ini настройку xcache.size = 128M как у вас написано и сайт уходит в «502 Bad Gateway». Установлен Nginx может быть из-за этого?
    Кроме того команда php -v кроме стандартного вывода выдает:

    php -v
    /dev/zero: No space left on device
    Failed creating file mappping
    PHP Fatal error: Failed creating file mappping in Unknown on line 0
    PHP Fatal error: XCache: Cannot create shm in Unknown on line 0

    Segmentation fault

    В общем сделал пока значение xcache.size стандартное, так ошибок не появляется. Но всё-таки интересно как это можно исправить?

Other Links to this Post


Украинская Баннерная Сеть