eaccelerator

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

eAccelerator обычно уменьшает нагрузку на сервер и увеличивает скорость исполнения PHP кода в 1-10 раз.

http://www.eaccelerator.net/

Установка

Воспользуемся установкой через систему портов. Желательно порты обновить через portsnap!
Поехали,

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

Настройка

Создадим директорию для кеша:

mkdir /tmp/eaccelerator
chmod 775 /tmp/eaccelerator

Создадим файл для лога:

touch /var/log/eaccelerator_log
chmod 775 /var/log/eaccelerator_log

Отредактируем файл php.ini

vi /usr/local/etc/php.ini


Добавим следующее содержимое:

[eAccelerator]

; Подключаем модуль
extension="eaccelerator.so"

; Размер кеша, в МБ
eaccelerator.shm_size="16"

; Путь до каталога файлов кеша
eaccelerator.cache_dir="/tmp/eaccelerator"

; Переключатель модуля (1 - вкл и 0 - выкл)
eaccelerator.enable="1"

; Переключатель оптимизатора  (1 - вкл и 0 - выкл)
eaccelerator.optimizer="1"

; Добавляет отладочную информацию в лог (1 - вкл и 0 - выкл)
eaccelerator.debug="0"

; Путь до файла лога
eaccelerator.log_file = "/var/log/eaccelerator_log"

; Проверять время модификации файлов кеша для перекомпиляции оных (1 - вкл и 0 - выкл)
eaccelerator.check_mtime="1"

; Фильтр расширений файлов которых надо кешировать. Например, "*.php *.phtml".
eaccelerator.filter=""

; Размер выделяемой памяти, в байтах. Допустимо вводить в формате 10240, 10K, 1M и т.д. При 0 - безлимит
eaccelerator.shm_max="0"

; Время жизни кеша, сек
eaccelerator.shm_ttl="120"

; Период удаления старых данных из памяти, сек (при 0 не удаляет)
eaccelerator.shm_prune_period="0"

; Использовать для кеша только память. При 0 используется диск и память
eaccelerator.shm_only="0"

; Переключатель компресии (1 - вкл и 0 - выкл)
eaccelerator.compress="1"

; Степень сжатия
eaccelerator.compress_level="9"

Ребутнём индейца:

apachectl restart

Вот и все, кеширование работает!
Дополнительные настройки на английском тут.


Комментарии (22) на запись «FreeBSD. Установка и настройка eAccelerator»

» Трекбеки скрыты, показать их?
  1. Возвращение блудного попугая… | Мастерская интернет-разработчика | 28.03.2009 в 11:25

    [...] freebsd eaccelerator [...]

  2. Seodigger.com заговорил по русски! | Мастерская интернет-разработчика | 28.03.2009 в 11:29

    [...] freebsd eaccelerator Оставить комментарий | Comment RSS | Теги: SEO, Сервисы Назад: Hello, World! Далее: Начинающим блоггерам! Выбор блога, регистрация в каталогах, поисковиках и закладках. [...]

  3. Пора делать свой код совместимым с PHP 6 | Мастерская интернет-разработчика | 28.03.2009 в 16:04

    [...] freebsd eaccelerator Оставить комментарий | Comment RSS | Теги: PHP Назад: Начинающим блоггерам! Выбор блога, регистрация в каталогах, поисковиках и закладках. Далее: Начинающим блоггерам! Настройка кросспостинга. [...]

  4. cross | 30.03.2009 в 00:52

    Спасибо за полезную инфу. Получилось установить надстройку.

  5. adw0rd | 30.03.2009 в 01:23

    Всегда пожалуйста! :)

  6. Рингтоны для гиков! | Мастерская интернет-разработчика | 30.03.2009 в 03:09

    [...] freebsd eaccelerator [...]

  7. Евгений | 07.04.2009 в 10:41

    Еще один пункт который позволит ускорить работу скриптов это монтировать кэш еаккселератора в память.

    В линуксе это делатеся строчкой в фстаб:

    none  /var/eaccelerator tmpfs size=96M,nr_inodes=10M,mode=0777 0 0

    Во фре не думаю что сложнее )

  8. adw0rd | 10.04.2009 в 13:10

    Евгений, а разве «eaccelerator.shm_only» не поможет хранить кеш только в памяти?

  9. Евгений | 10.04.2009 в 13:21

    гм. и зачем же я так извратился — не понятно.

    :)

  10. adw0rd | 10.04.2009 в 13:56

    Бывает :)

  11. ExH | 12.04.2009 в 22:30

    Делать диск в памяти и писать на него данные необходимо когда у вас запущено несколько fast-cgi процессов php (так бывает на хостингах). Делать это надо потому, что если eaccelerator хранит данные в памяти, то они НЕ шарятся между процессами. А если данные хранятся ТОЛЬКО на виртуальном диске то эти данные шарятся между процессами.

  12. Ad1ce | 11.10.2009 в 20:14

    а зачем хранить кэш в темпе? после перезагрузки он ведь обнулится.

  13. Ad1ce | 11.10.2009 в 20:53

    и еще вдогону вопрос. worker или prefork?

  14. GTAlex | 21.04.2010 в 12:04

    как проверить работает или нет ?

    сделал всё по инструкции — phpinfo нет ни слова о eaccelerator

  15. adw0rd | 21.04.2010 в 12:49

    GTAlex, вы перезагружали вебсервер? Что говорит

    php -m

    ?

  16. GTAlex | 21.04.2010 в 12:52

    всё — настроил, как раз помог php -m

    опечатка в php.ini была

    спасибо

  17. GTAlex | 21.04.2010 в 12:54

    ещё бы Zend Optimizer прикрутить — вообще счастье было бы, а то скрипты есть покупные зендом закодированные, а вставать из портов не хочет :(

    ругается на PHP 5й версии (у меня 5.3.2)

    не поможешь советом :) ?

  18. adw0rd | 21.04.2010 в 13:06

    Вообще на фре зенд оптимизер фигово работает, разработчики зенд оптимизера ленятся и не делаю для фряхи порты

  19. Женек | 14.05.2010 в 10:05

    Сделал все по инструкции.

    phpinfo () выдает такую хрень:

    eAccelerator support enabled

    Version 0.9.6

    Caching Enabled false

    Optimizer Enabled false

    Check mtime Enabled false

  20. adw0rd | 14.05.2010 в 11:54

    Вы уверены что у вас именно так:

    eaccelerator.enable = "1"
    eaccelerator.optimizer = "1"

    ?

    Какая OS?

  21. Женек | 14.05.2010 в 13:13

    Именно так )

    Ось FreeBSD 7.2

  22. adw0rd | 14.05.2010 в 15:25

    error-log пуст? может у вас нет прав для каталога хранения кеша, или например файл лога не может писаться и т.д.?

Оставить комментарий