В этой статье мы рассмотрим базовые настройки самого php интерпретатора и установим акселератор php - Eaccelerator Также с уществующие много аналогов, например: 2.1 Alternative PHP Cache 2.2 eAccelerator 2.3 PhpExpress 2.4 XCache Зачастую наибольшая нагрузка создается вовсе не HTTP-сервером, а интерпретатором языка программирования, используемого для создания динамического содержимого веб-сайта. Открываем файл /etc/php5/apache2/php.ini (путь для Ubuntu, в других дистрибутивах может быть иным) и редактируем следующие строки: memory_limit — лимит на съедаемую при генерации веб-страницы память. Перед изменением этого параметра рекомендуется выполнить соответствующие замеры и основывать значение уже на их результатах. display_errors = Off, error_log = /var/log/php — перенаправлять сообщения об ошибках в log-файл. Включай этот параметр тогда, когда все скрипты будут полностью отлажены. upload_max_filesize и post_max_size — максимальный размер загружаемых файлов и POST-запросов. Опять же, значение должно быть выбрано исходя из потребностей твоего веб-приложения. Теперь можно закрыть файл и выполнить глубокую оптимизацию с помощью PHP-ускорителя а именно - Eaccelerator. Установка Eaccelerator PHP — язык интерпретируемый. Это значит, что каждый раз, когда происходит вызов скрипта на этом языке, запускается PHP-интерпретатор, который проводит полный анализ исходного кода. Причем, если спустя секунду произойдет второй запуск того же скрипта, вся процедура будет повторена заново. Это нерациональное использование ресурсов, поэтому мы применим инструмент под названием eAccelerator, который скомпилирует исходные тексты PHP в двоичное представление, оптимизирует их и будет бережно хранить в оперативной памяти для более быстрого доступа. Благодаря только этому скорость обработки PHP-скриптов вырастет в десятки раз (подтверждено тестами). Пакета eAccelerator нет в репозиториях популярных дистрибутивов, поэтому его придется собрать самостоятельно. Сначала устанавливаем необходимые для сборки утилиты: Код: $ sudo apt-get install php5-dev build-essential Далее получаем исходные тексты eAccelerator: Код: $ cd /tmp/ $ wget http://bart.eaccelerator.net/source/0.9.6.1/ eaccelerator-0.9.6.1.tar.bz2 Распаковываем архив и переходим в каталог Код: $ tar xvjf eaccelerator-0.9.6.1.tar.bz2 $ cd eaccelerator-0.9.6.1 Компилируем Код: $ phpize $ ./configure --enable-eaccelerator=shared $ make $ sudo make install Создаем каталог для хранения кэша: Код: $ sudo mkdir -p /var/cache/eaccelerator $ sudo chmod 0777 /var/cache/eaccelerator И, наконец, подключаем eAccelerator к PHP (добавить в начало файла): Код: $ vi /etc/php5/apache2/php.ini PHP: ; Подключаем расширениеextension = "eaccelerator.so"eaccelerator.enable = "1"; Максимальный размер дискового кэша (Мб)eaccelerator.shm_size = "64"; Каталог для хранения кэшаeaccelerator.cache_dir = "/var/cache/eaccelerator"; Включаем оптимизатор кодаeaccelerator.optimizer = "1"; Перекомпилировать модифицированные скриптыeaccelerator.check_mtime = "1"; Отключаем режим отладкиeaccelerator.debug = "0"; Кэшировать все файлы (пустой фильтр)eaccelerator.filter = ""; Неограниченный размер кэша в памятиeaccelerator.shm_max = "0"; В случае отсутствия места в кэше удалять объекты старше1 часа (3600 секунд)eaccelerator.shm_ttl = "3600"eaccelerator.shm_prune_period = "0"; Кэшировать данные и в памяти, и на дискеeaccelerator.shm_only = "0"; Сжимать кэшированные данные с максимальным уровнем компрессииeaccelerator.compress = "1"eaccelerator.compress_level = "9"
судя из написанного складывается впечатление, что Eaccelerator и eAccelerator- это разные акселераторы. Так оно и есть?
Уточню задачу. Для магазина на Opencart с количеством товаров менее 1000. что предпочесть? и какова в % разница работы с ускорителем и без него? 10% или 200%? порядок?
А как сделать тест чтобы понять включился акселератор или нет? как измерить скорость загрузки с акселератором и без него? чтобы понять есть ли прок от него. и размер дискового кеша чем больше тем лучше? можно сразу 1024М выставить? это лучше чем 64?
что бы измерить скорость - делаете синтетический тест, например генерация страницы с 10 тыс. запросов к базе и кучей переменных и смотрите до и после
незнаю мне APC больше нравится,да и тесты в гугле как то к нему больше склоняли, проблем не знаю с ним --- добавлено: Jun 8, 2013 1:19 PM --- APC (Alternative PHP Cache) - открытый и бесплатный опкод кешер для PHP. Сравнивая APC и eAccelerator, можно сказать, что будущее за APC. Этот проект сейчас успешно развивается, в то время как eAccelerator остановился в своем развитии, а сайт его разработчиков перестал существовать. Есть только аккаунт на sourceforge с архивами. К тому же, по некоторым слухам, APC должен войти в стандартную поставку PHP6.
из акселераторов рекомендую использовать APC, либо memcached если памяти достаточно на сервере, этот вариант предпочтительнее будет особенно на нагруженных серверах
чем предпочтительней... арс и мемкэшед - два совершенно разных акселератора ... и используются под свои цели ... тема не раскрыта