то ждем ваше обращение в нашей службе тех поддержки.
Производительность PHP
Ключевой способ снизить нагрузку на процессор – использовать прекомпиляторы PHP-кода.
PHP прекомпиляторы:
- OPcache
- Zend Performance Suite
- Alternative PHP Cache (APC)
-
eAccelerator
Внимание: eAccelerator не совместим с PHP версий выше 5.3 и больше не поддерживается в продуктах «1C-Битрикс» с версии ядра 15.0.13. Подробнее см. в блоге разработчиков.
- XCache
- PHP Accelerator
- AfterBurner Cache
Лучшие результаты производительности и кэширования PHP достигаются с использованием OPcache (рекомендуется, доступен сразу «из коробки» в PHP v.5.5+), XCache или APC (Alternative PHP Cache), как более стабильная, но менее производительная альтернатива. Не забывайте выделять достаточный объем оперативной памяти для хранения разделяемого кэша скомпилированных PHP-файлов. Обычно бывает достаточно 32-64 Мб, но для уверенности можно увеличить объем выделяемой памяти до 128 Мб, в расчете на файлы административного раздела. Прекомпиляторы используют разделяемый кэш для хранения скомпилированного PHP кода в оперативной памяти, который доступен всем рабочим процессами веб-сервера, при этом скомпилированный PHP код хранится в кэше в единственном экземпляре (без дублирования).
Для уменьшения потребляемой памяти процессами веб-сервера, в котором запускается PHP, желательно исключить из компиляции или динамической загрузки все неиспользуемые модули.
При этом очень важно, чтобы в кэш прекомпилятора помещалось достаточное количество скриптов на PHP. Одна из самых часто встречающихся ошибок - это отсутствие каталога для сохранения откомпилированного кода.
Для ускорения работы с PHP-сессиями рекомендуется сохранять файлы сессий в каталоге, который представляет собой виртуальный диск в памяти или использовать установку session.save_handler=mm
в php.ini. Если есть возможность, рекомендуется использовать системный RAM диск. При этом необходимо отключать опцию Передавать пароль в зашифрованном виде на закладке Авторизация страницы настроек Главного модуля.
Панель производительности
Важным инструментом по настройке производительности PHP является модуль Монитор производительности, входящий в комплект всех продуктов "1С-Битрикс". Протестировать настройки системы можно в административной части на странице Панель производительности (Настройки > Производительность > Панель производительности). Неоптимальная конфигурация PHP:
Как правило, выполнение рекомендаций позволяет увеличить производительность системы до достаточных величин. Численное значение параметра Конфигурация показывает основную характеристику сайта – скорость отдачи страниц клиенту. Чем больше число, тем лучше.
Некоторые типовые ошибки
Ошибка Segmentation fault может произойти:
- В результате "падения" РНР при использовании отложенной загрузки классов;
- При использовании Zend server могут "упасть" скрипты в cron или консоли.
В первом случае необходимо определить в dbconn.php:
define("NO_BITRIX_AUTOLOAD",true)
Во втором случае надо:
- либо использовать другую версию PHP без подключения Zend optimizer+ ;
- либо скопировать хостерский php.ini куда-то выше document root, удалить подключение Zend extension manager или zend optimizer и прописать в кроне опцию
-c
, которая позволяет указать папку, в которой необходимо искать файл php.ini. - либо в "падающем" скрипте определить:
define('BX_NO_ACCELERATOR_RESET', true)
Назад в раздел