Меню Рубрики

Установка eaccelerator для centos

Блог Захарова Андрея

Блог о программировании, установке и настройке WordPress, плагинов, LiveStreet, IPB 3, Nginx, MySql, CentOS

Установка eAccelerator на CentOS 6

Доброго времени суток, уважаемый посетитель блога. После долгого перерыва я решил продолжить публиковать короткие инструкции, которые могут помочь вам в работе. Сегодня на очереди установка eAccelerator на CentOS 6. Ни чего сложного тут нет. Вполне достаточно следовать приведенной ниже инструкции.

Поехали! Первое, что надо сделать
yum install php-devel

Скачиваем архив eAccelerator на CentOS 6

Отлично! Теперь распаковываем скаченный архив

Далее переходим в директорию eaccelerator-master для компиляции eAccelerator

Конфигурируем при помощи команды

Если возникла ошибка «configure: error: no acceptable C compiler found in $PATH», то просто выполняем команду «yum install gcc» и снова «./configure».

Далее нам помогут две команды

Все прошло отлично и настала пора создать необходимую для работы директорию

и выставить права доступа

chmod 777 /var/cache/eaccelerator

extension = «eaccelerator.so»
eaccelerator.shm_size = «0»
eaccelerator.cache_dir = «/var/cache/eaccelerator»
eaccelerator.enable = «1»
eaccelerator.optimizer = «1»
eaccelerator.check_mtime = «1»
eaccelerator.debug = «0»
eaccelerator.filter = «»
eaccelerator.shm_max = «0»
eaccelerator.shm_ttl = «0»
eaccelerator.shm_prune_period = «0»
eaccelerator.shm_only = «0»

Теперь настала пора перезагрузок. Перезапустите апач или nginx (смотря что вы используете). Например, nginx

Если Ваш PHP работает в режиме php-fpm, то следует выполнить следующую команду для его перезагрузки:

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

Откройте его в браузере и найдите блок с eAccelerator

Надеюсь, что эта простая инструкция поможет вам справиться с такой простой задачей, как установка eAccelerator на CentOS 6. Если возникнут вопросы, то задавайте их в комментариях ниже.

П.С.: сегодня исполнилось 40 лет, как умер мой прадед Николай.

источник

PHP акселераторы на CentOS и VestaCP

Для уменьшения потребления памяти PHP и ускорения его работы рекомендуется использовать различные акселераторы. Особенно это актуально для бюджетных VPS с небольшим количеством оперативной памяти на которых крутятся сайты на прожорливых CMS типа WordPress.

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

В данной статье расскажу как установить PHP акселератор на CentOS если вы используете панель управления хостингом VestaCP.

Существующие акселераторы PHP

Для PHP версий 5.3, 5.4 актуальны следующие акселераторы:

  • APC — Alternative PHP Cache. Бесплатный и открытый opcode кэшер для PHP. Поддерживает PHP4 и PHP5, включая 5.3 и 5.4.
  • eAccelerator. Свободный открытый проект, выполняющий роли акселератора, оптимизатора и распаковщика. Поддерживает PHP4 и PHP5, включая 5.4
  • PhpExpress. Бесплатный ускоритель обработки php-скриптов на веб-сервере. Поддерживает PHP4 и PHP5, включая 5.3
  • XCache. Бесплатный. Поддерживает функции оптимизации скриптов, кэширования байткода. Поддерживает PHP4 и PHP5, включая 5.6
  • Zend OPcache. Обеспечивает более быстрое выполнение PHP кода операции через кэширование и оптимизации. Улучшает PHP производительность, сохраняя скомпилированные сценариев байт-кода в разделяемой памяти. Zend OPcache включен в PHP 5.5 по умолчанию. Как расширение PECL поддерживает версии 5.2, 5.3 и 5.4.

Если вы используете PHP 5.5, то в нем по-умолчанию идет Zend OPcache и ничего дополнительно ставить не нужно.
В сети полно тестов и сравнений различных акселераторов. Но в данной статье я не буду их приводить.

Какой кешер выбрать

Перелапатил интернет и понял, что в зависимости от версии PHP гуру рекомендуют следующее:

  • 5.3 — apc
  • 5.4 — ZendOpCache
  • 5.5 — ZendOpCache(по-умолчанию)

Но я везде использую ZendOpCache вне зависимости от версии PHP. Мой выбор основан на том, что он стоит по-умолчанию на PHP v5.5. А значит лучше других должен знать как оптимизировать работу PHP.

Как установить ZendOpCache на CentOS

Нельзя использовать несколько акселераторов одновременно. ZendOpCache конфликтует с другими акселераторами и/или наоборот, так что остальные акселераторы должны быть отключены.
VestaCP на CentOS по-умолчанию ставит (ставила) APC, удалите его если вы решили установить ZendOpCache на CentOS.

Установка ZendOpCache на php 5.4

Установка ZendOpCache на php 5.3

Проверим правильность установки ZendOpCache на CentOS

Оптимальные настройки Zend OPcache

Проверьте свой файл конфигурации /etc/php.d/opcache.ini
По информации в сети нижеследующие настройки являются самыми оптимальными.

opcache.memory_consumption задает использование памяти для расширения
opcache.interned_strings_buffer задает объем памяти для хранения интернированых строк, в мегабайтах
opcache.max_accelerated_files – максимальное количество скриптов в памяти
opcache.revalidate_freq — это валидация кэша в секундах, в интернете все рекомендуют значение 60, я же использую 2, но иногда рекомендуют ставить 0 (ноль), то есть постоянно проверять на изменения. К примеру в Joomla OPcache кеширует все файлы и будет отдавать кэш после сохранения файлов еще то время, которое в этой строке. То есть вы сохранили файл, но все равно в течении указанного времени будете видеть старую копию из кеша. Поэтому не жалуйтесь, что файлы не сохраняются, подождите выставленное вами время.
opcache.fast_shutdown определяет включено или выключено быстрое завершение последовательности ускоренного, кода, дает возможность использовать Zend Engine Memory Management
opcache.enable_cli включает OPcache в CLI-версии PHP.

Перезапуск web-сервера

Чтобы изменения вступили в силу нужно перезапустить вэбсервер:

Читайте также:  Установка задних амортизаторов на шевроле круз

Изменение скорости работы сайта после установки акселератора PHP

Блог на WordPress работал сервере с PHP 5.3 без каких-либо акселераторов. Страница генерировалась за 0,37 сек., потребление памяти составляло 37 МБ.

После установки акселератора Zend OPcache скорость генерации страницы снизилась до 0,22 сек, потребление памяти при этом составило 11 МБ.

Комментарии излишни. Использование PHP акселератора положительно сказывается на скорости работы сайта и снижает потребление памяти.

Благодарности

При написании статьи были использованы следующие источники:

источник

How to install PHP eAccelerator on CentOS 7

How to install PHP eAccelerator on CentOS 7

The PHP eAccelerator is a open-source PHP accelerator that provides a bytecode cache. Every time a PHP script is run, PHP parses and compile into bytecode. eAccelerator optimizes the bytecode and caches into shared memory. It typically reduces server load and increases the speed of your PHP code by 1-10 times. This tutorial explains the installation of PHP eAccelerator on CentOS 7.

Installation procedure

Before starting the installation procedure, install the Apache Webserver by executing the following command and press y to continue with the installation procedure.

Next Start and enable the Apache service by running the following command.

Now use the following command to install PHP and its required dependencies. Press y to continue with the installation process.

Install the development tools by running the following command.

Next download the PHP eAccelerator by executing the following wget command followed by the download link.

The download of the PHP eAccelerator is complete. Now extract the downloaded zip file by running the unzip command .

Enter into extracted eAcclerator directory by running the following command.

Run the ./configure command to run the downloaded application.

Next run the make and make install commands to install the eAccelerator application as follows.

Add the following values to eAccelerator php configuration file in the following path using vim editor /etc/php.d/eaccelerator.ini . Enter the following lines in the configuration file. Save and exit the file.

Next you need to create cache directory and set up the required permissions by executing the following command.

Create the info.php file in the location /var/www/html/info.php and add following lines in info.php file. Save and exit the file.

To enable a new php configuration we need to restart the web server by executing the following command.

Open the browser and type the url as http://serverip/info.php and run it.

For further information scroll down on the page and you will see the eAccelerator details as shown below.

The installation of eAccelerator is complete. The eAccelerator avoids the performance overhead of repeated parsing and compilation.

источник

Оптимизация работы сервера c PHP. eAccelerator

Вот выдалось время написать в собственном блоге. Эта статья откроет новую тему на блоге – Linux администрирование. Ко мне обратился знакомый, помочь настроить сервер на Linux (CentOS). Я в сновном работаю только на CentOS.

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

Посмотрел нагрузку, она зашкаливает load average: 10.54, 10.28, 9.96

Я подумал, как можно это исправить. Для оптимизации работы данного сайта, стоит понять как работает php.

Введение

Дело в том, что php это не просто скрипт с инструкциями для определённой программы. Суть его заключается в том, что каждый скрипт проходит несколько стадий, прежде чем вернет результат:

  1. Скрипт переводится в байт-код
  2. Выполняется
  3. Выводится результат сервером
Читайте также:  Установка din рейки смета

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

Выход есть. Чтобы не тратить постоянно ресурсы на перевод скриптов в байт-код, можно хранить часто используемые скрипты уже в таком состоянии, что заметно снизит потребление ресурсов сервера.

Для этого существует множество программ, я решил использовать одну из таких – это eAccelerator.

Это удобный, легко настраиваемый модуль для php.

Установка eAccelerator

И так приступим к установке. Подключитесь к серверу по SSH ну или если есть прямой доступ, зайдите в консоль.

Я создаем папку /usr/local/eAccelerator , в которой будем работать и переходим в нее

Теперь скачаем собственно eAccelerator c официального сайта http://www.eaccelerator.net/

Переходим в директорию eaccelerator-0.9.5.3:

Опция –with-eaccelerator-shared-memory необходима для возможности использования API eAccelerator. Полный список опций.

Собственно теперь модуль готов и установлен в папке /usr/lib/php/modules/ , куда устанавливаются все модули php

Теперь пришло время подключить модуль и настроить его, чем сейчас и займемся.

Настройка

Файлы для подключения модулей php находятся в папке php.d. При загрузке Apache он считывает все фалы с расширением ini из этой папки.

Теперь создадим файл конфигурации в этой папке. Я использую VIM, Вы можете использовать тот редактор, который вам больше нравится.

Описание основных атрибутов конфигурации eAccelerator

eaccelerator.shm_size Размер кэша совместно используемой памяти, устанавливается в мегабайтах.
eaccelerator.cache_dir Директория для дискового кэша. eAccelerator сохраняет в указанной директории бинарное представление кода, сессии и другие данные.
eaccelerator.enable С помощью этой опции можно отключать и включать eAccelerator. Значение 1 – включено, 0 – выключено.
eaccelerator.shm_ttl Указывает в секундах время, по истечении которого давно не используемый код должен быть удален из совместно используемой памяти при превышении объема выделяемой памяти.

По умолчанию эта опция отключена, рекомендую устанавливать значение от 60 до 300 при большом количестве файлов и от 900 до 1800 при малом количестве файлов. eaccelerator.shm_prune_period Когда eAccelerator не имеет достаточно свободного памяти, он пытается удалить старые данные, если предыдущая попытка была сделана более “shm_prune_period” секунд назад. По умолчанию значение “0″, при котором eAccelerator не будет пытаться удалить старый данные из памяти. eaccelerator.keys
eaccelerator.session
eaccelerator.content Параметры указывают доступные способы сохранения кэша eAccelerator.
Возможные значения:

  • shm_and_disk — кэш данных в общей памяти и на диске (по умолчанию);
  • shm — кэш данных в общей памяти или на диске, если общая память или размер данных больше, чем “eaccelerator.shm_max”;
  • shm_only — кэш данных в общей памяти;
  • disk_only — кэш данных на диске;
  • none не кэшироваь данные.

Теперь создадим папку для кэша, которую мы указан в директиве eaccelerator.cache_dir – /tmp/eaccelerator, и дадим ей права на запись

Собственно настройка закончена, теперь перезапустим Apache:

Заключение

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

load average: 0.91, 0.88, 0.72

источник

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

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

Внимание! eAccelerator работает с PHP в режиме fastcgi или mod_php.

Внимание! С версии 0.9.6-rc1 выслана поддержка пользовательских функций кэширования (The user cache function are removed ), применяйте версию 0.9.5.3!

Установка eAccelerator

Создаем директорию eAccelerator:

Перебегаем в директорию eAccelerator:

Загрузим дистрибутив с сайта производителя (информацию о последних выходах можно найти по адресу http://www.eaccelerator.net/):

# tar -xvjf ./eaccelerator-0.9.5.3.tar.bz2

Перебегаем в директорию eaccelerator-0.9.5.3:

(в связи от того, где расположени phpize).

# $PHP_PREFIX/bin/phpize
# ./configure —enable-eaccelerator=shared —with-php-config=$PHP_PREFIX/bin/php-config —with-eaccelerator-shared-memory

Функция —with-eaccelerator-shared-memory необходима для возможности использования API eAccelerator. Полный список опций.

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

Настройка eAccelerator

Конфигурацию eAccelerator можно разместить в варианте файла (именованная область данных на носителе информации) eaccelerator.ini в директории /etc/php.d/ или указать в файле /etc/php.ini. Разместим в файле /etc/php.ini в самом конце пред секцией [Zend]:

eaccelerator.shm_size=»512″
eaccelerator.cache_dir=»/tmp/eaccelerator»
eaccelerator.enable=»1″
eaccelerator.optimizer=»1″
eaccelerator.check_mtime=»1″
eaccelerator.debug=»0″
eaccelerator.filter=»»
eaccelerator.shm_max=»0″
eaccelerator.shm_ttl=»3600″
eaccelerator.shm_prune_period=»1800″
eaccelerator.shm_only=»1″
eaccelerator.compress=»1″
eaccelerator.compress_level=»3″
eaccelerator.keys=»shm_only»
eaccelerator.sessions=»shm_only»
eaccelerator.content=»shm»

Вниманье! При наличии в php.ini директивы extension_dir путь к расширению указываем относительный:

Досоздадим директорию для файлов eAccelerator:

# chmod 777 /tmp/eaccelerator

Видео по теме: Установка и настройка eAccelerator

источник

linux-notes.org

Установка PHP eAccelerator на Debian/Ubuntu/Mint

В своей новой теме «Установка PHP eAccelerator на Debian/Ubuntu/Mint» хотелось бы рассказать как можно установить и использовать eAccelerator для PHP на Debian/Ubuntu/Mint, расскажу что это такое и для чего он нужен.

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

eAccelerator начал свое существование в декабре 2004 года как форк проекта Turck MMCache. Этот проект был основан Дмитрием Стоговым и большая часть кода Eaccelerator по-прежнему базируется на его работе.

1. Установка PHP eAccelerator.

Чтобы установить эту программу нужно будет кое что установить ( если у Вас еще не установлено):

После этого идем на официальный сайт и качаем исходный код данной программы, я на данный момент, использую последнюю версию, можете ее скачать у меня:

Распакуем данный архив и переходи в папку с сорцами:

Сейчас, выполним установку (соберем из исходников):

Если не будет работать, то качаем новый архив с моего сайта, он полностью рабочий и проверялся мной:

Переходим в папку и начнем установку:

Начнется сборка и установка php eAccelerator. Вы можете столкнуться с рядом проблем ( не сможет скопилироваться, по этому нужно читать и фиксить это. Со второго раза у меня получилось все установить и после чего начал использовать все это чудо.

Я уже почти закончил все. Теперь создадим конфигурационные файлы и так же папки для временных файлов:

Устанавливаем права на папку:

Займемся над созданием наших конфигов. Делается это 2:

— Можно прописать именно в самом php.ini.

— Можно так же создать файл в папке /etc/php5/conf.d, я так и сделаю.

Для быстродействия прописываем все это в автозагрузку ОС, чтобы это сделать нужно:

И смонтируем все это дело, но нужно выполнить это от root:

Конфиг прописан, перезапускаем веб сервер apache:

Установка завершена, но нужно кое что доделать и проверить работу, этим мы и займемся. Проверяем работает ли у нас eAccelerator :

или если используете php-cgi:

Если все нормально, то должно выдать список установленных модулей.

ВНИМАНИЕ! Бывает так, что при попытке запуска eAccelerator выдает ошибку:

eAccelerator: Could not allocate 67108864 bytes, the maximum size the kernel allows is 33554432. Lower the amount of memory request or increase the limit in /proc/sys/kernel/shmmax.
PHP Warning: [eAccelerator] Can not create shared memory area in Unknown on line 0
PHP Fatal error: Unable to start eAccelerator module in Unknown on line 0

Фиксится это следующим образом:

После этого ошибка пропадает!

Чтобы проверить что работает все должным образом, стоит и хватит открыть страницу вашего сайта который есть на вашем сервере\хостинге и запустить:

В папке должен появится кешированные страницы ( файлы).

Теперь скажу пару слов о phpmyadmin, если вы его используете, то он начнет показывать пустую страницу при открытии. Сейчас мы это быстренько исправим, а нужно в файле конфига нашего web сервера отключить использование eAccelerator в папке с phpmyadmin:

Вот и все корректировка, перезапустим апач и проверяем, должно работать!

От себя хочу сказать что существует много решение по мимо PHP eAccelerator, приведу пару из них:

источник

Добавить комментарий

Adblock
detector