поясните, что такое APC?
Добавлено через 57 секунд
и как её поставить?
]
программный акселератор
ставится 3 комаедами ./configure make make install
если у вас фряха то она есть в портах
Когда ваш любимый сайт на Drupal/Symphony/.. начинает тормозить, возникает вопрос - почему?
Основная причина тормознутости PHP без акселератора - комплияция кода при каждом обращении.
Как выглядит обработка запроса пользователя по умолчанию:
Загрузили файл
Скомпилировали код
Выполнили код
Выдали результат
При этом процесс компиляции кода выполняется при каждом запросе страницы и отнимает большую часть времени на обработку запроса. Для обхода этого узкого места были разработаны PHP акселераторы - эти модули кешируют скомпилированный код в памяти/на диске и в разы увеличивают производительность PHP. Одним из самых простых в установке и стабильных является акселератор APC.
APC может работать в двух режимах, которые настраиваются в переменной apc.stat файла /etc/php.d/apc.ini
При первом обращении к файлу в обоих режимах он сначала компилируется, после чего скомпилированный код кешируется. При последующих выполнениях файла последовательность действий будет другой:apc.stat=0 apc.stat=1
Выполнение кешированного кода
Выдача результата Проверка, модифицировался ли файл с момента кеширования.
Перекомпиляция, если модифицировался
Выполнение
Выдача результата
Вариант с apc.stat=1 несколько замедляет работу засчет проверки времени модификации файла, однако позволяет избежать многочисленных непоняток, когда код уже изменен, а выдача еще старая
Установка APC на CentOS/RHEL/Fedora:
*Подключаем репу stalwart'а содержащую актуальный apc
wget
Для просмотра ссылки Войди или Зарегистрируйся -O /etc/yum.repos.d/stalwart.repo
yum install php-pecl-apc
Теперь осталось отредактировать /etc/php.d/apc.ini по вкусу и перезапустить веб-сервер.
Установка APC на Debian/Ubuntu:
apt-get install apache2-threaded-dev php5-dev php5-pear make gcc g++
pecl install apc
Редактируем /etc/php5/apache2/php.ini добавляя:
extension=apc.so
и перезапускаем веб-сервер.