Apc xcache zend accelerator windows cache extension for php zendopcache + видео обзор

Содержание
  1. PHP акселераторы на CentOS и VestaCP
  2. Существующие акселераторы PHP
  3. Какой кешер выбрать
  4. Как установить ZendOpCache на CentOS
  5. Установка ZendOpCache на php 5.4
  6. Установка ZendOpCache на php 5.3
  7. Проверим правильность установки ZendOpCache на CentOS
  8. Оптимальные настройки Zend OPcache
  9. Перезапуск web-сервера
  10. Изменение скорости работы сайта после установки акселератора PHP
  11. Благодарности
  12. Ускорение PHP | настройка Zend OPcache
  13. Настройка Zend OPcache
  14. Описание значений Zend OPcache
  15. Перезапуск web-сервера
  16. Изменение скорости работы сайта после установки акселератора PHP
  17. Обзор zend расширения OPCache для PHP
  18. Зачем нужен Opcache?
  19. Почему стоит включить OPCache?
  20. Как OPCache улучшает производительность на WordPress, Joomla и Drupal?
  21. Как установка OPCache улучшает работу 1С Bitrix?
  22. Включение OPCache на UMI CMS
  23. Включение и настройка OPCache на хостинге sweb
  24. «Битрикс24». Играемся с настройками и оптимизируем проект
  25. Запрос клиента
  26. Решение
  27. Вывод
  28. Инструкция по настройке кеширования
  29. Использование кеширования в оперативной памяти
  30. PHP приложения
  31. Демон memcached
  32. Настройка Битрикса
  33. Пользовательские комментарии
  34. Видео

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

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

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

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

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

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

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

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

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

Но я везде использую 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 МБ.
Apc xcache zend accelerator windows cache extension for php zendopcache
После установки акселератора Zend OPcache скорость генерации страницы снизилась до 0,22 сек, потребление памяти при этом составило 11 МБ.
Apc xcache zend accelerator windows cache extension for php zendopcache
Комментарии излишни. Использование PHP акселератора положительно сказывается на скорости работы сайта и снижает потребление памяти.

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

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

Источник

Ускорение PHP | настройка Zend OPcache

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

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

В данной статье расскажу как установить Zend OPcache на Ubuntu Server 20.04 LTS

Если вы используете PHP 5.5 и выше, то в нем по-умолчанию идет Zend OPcache и ничего дополнительно ставить не нужно.

Проверяем установлен ли ZendOpCache на вашем сервере, вот так:

Вывод должен быть примерно такой:

Настройка Zend OPcache

В интернете множество статей в которых описывается оптимальная настройка Zend OPcache. Почитав их, я решил объединить их в своей статье и найти золотую середину. На моем сервере установлен php 7.4 + nginx в связке с Apache. И так, открываем файл конфигурации php. :

Находим следующие строки и выставляем значения как у меня (хотя можете поэкспериментировать)

Описание значений Zend OPcache

opcache.enable — включаем наш Zend OPcache.

opcache.enable_cli — включает OPcache в CLI-версии PHP.

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

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

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

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

Блог на WordPress, до настройке Zend OPcache, страница генерировалась за 0,55 сек., потребление памяти составляло 51 МБ.

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

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

Источник

Обзор zend расширения OPCache для PHP

Легкий способ увеличить скорость сайта

Зачем нужен Opcache?

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

При включении OPCache компиляцию из процесса можно исключить (кроме первичного обращения к файлу), это позволит увеличить быстродействие кода, т.к. при обработке любого скрипта компиляция является наиболее ресурсозатратным процессом.

Сегодня развитие расширения PHP OPCache производится только в пределах версии PHP 7.

Почему стоит включить OPCache?

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

Как OPCache улучшает производительность на WordPress, Joomla и Drupal?

Apc xcache zend accelerator windows cache extension for php zendopcache

В ходе проведения исследования мы установили, что на среднестатистическом сайте использование OPCache улучшает скорость загрузки в несколько раз, при этом количество используемой памяти сокращается в 2-4 раза. Таким образом, простое включение расширения OPCache наглядно демонстрирует увеличение производительности на популярных CMS.

Как установка OPCache улучшает работу 1С Bitrix?

Ниже представлен сайт клиента, который длительное время не мог решить проблему с оптимизацией конфигурации своей системы.
Рассмотрим, какие показатели были у него до включения OPCache Битрикс.

Apc xcache zend accelerator windows cache extension for php zendopcache

Благодаря несложной инструкции включения расширения zend OPCache PHP, владельцу сайта удалось повысить оценку конфигурации системы и увеличить среднее время отклика в 6 раз. Еще один рекомендуемый инструмент улучшения производительности для владельцев проектов на Bitrix.

Apc xcache zend accelerator windows cache extension for php zendopcache

Включение OPCache на UMI CMS

Рассмотрим, как включенный OPCache влияет на производительность umi cms.
В первом случае OPCache отключен и система показывает среднюю производительность.

Apc xcache zend accelerator windows cache extension for php zendopcache

После включения OPCache производительность системы увеличилась почти вдвое.

Apc xcache zend accelerator windows cache extension for php zendopcache

Включение и настройка OPCache на хостинге sweb

Установка и настройка OPCache не требует особых технических знаний.

На тарифах «стандартного виртуального хостинга» для включения OPCache перейдите в раздел «Настройка сайта» в панели управления, и во вкладке «Общие» выберите «Apache 2.2 + PHP 7.1 opcache».
Важно: Перед выбором обязательно убедитесь в том, что ваш сайт совместим с этой версией PHP.

На тарифах «реактивного хостинга» OPCache включен начиная с версии PHP 5.5.

Топ-6 сервисов для проверки кроссбраузерности сайта

Источник

«Битрикс24». Играемся с настройками и оптимизируем проект

В этой статье мы расскажем, как оптимизировать крупный проект в «Битрикс24» и увеличить его производительность в 3 раза, изменяя настройки MySQL и режим питания CPU.

80 Гб БД на выделенном сервере с BitrixVM.

До изменения настроек показатели были следующими:

Apc xcache zend accelerator windows cache extension for php zendopcache

Стандартный тест производительности в панели администратора «Битрикс»

Из всех параметров стоит обратить особое внимание на работу с MySQL и «Конфигурацию PHP». Именно эти показатели особенно важны для нас, так как они косвенно отражают уровень производительности проекта.

Запрос клиента

Наш клиент хотел не только перенести проект на новый выделенный сервер, но и улучшить параметры производительности. Например, среди сложностей можно назвать отсутствие возможности делать дампы базы данных на исходном сервере, а также медленную работа самого портала.

Решение

Настройки MySQL — первое, с чем мы начинаем работать.

Заменим стандартные значения BitrixVM на:

Следующий шаг — изменим режим питания CPU, так как «Битрикс» любит большую частоту процессора.

В зависимости от количества ядер меняем в каждом
файле /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor powersave на performance.

Далее проверим результат:

Apc xcache zend accelerator windows cache extension for php zendopcache

Мы видим, что больше всего изменилась работа с MySQL: параметры “запись” и “изменение” выросли почти в 3 раза; показатель “чтение” вырос в 5 раз. Это значит, что при обращении сайта к базе данных этот тип операции будет выполняться в несколько раз быстрее. Как следствие, вырастет и общая производительность сайта.

Из-за изменения режима питания CPU (это возможно, так как используется выделенный сервер) увеличилось количество операций на CPU.

Теперь необходимо отредактировать настройки для OPcache.

В файле /etc/php.d/10-opcache.ini заменяем его исходное значение на:

Примечание: Тест «Битрикс» сообщит вам, что параметр opcache.revalidate_freq должен иметь значение 0 а не 1, но с указанным нами он будет работать лучше.

Сам параметр opcache.revalidate_freq отвечает за проверку кеша: при значении 0 она выполняется каждый раз при запуске скрипта, а при значении 1 — раз в секунду.

После изменения настроек проверяем результат:

Apc xcache zend accelerator windows cache extension for php zendopcache

Из таблицы следует, что показатель работы с MySQL еще немного вырос. В то же время операции на CPU и общая производительность «Битрикс» увеличились значительно за счет изменения настроек PHP и кеширования скриптов.

Вывод

Благодаря таким несложным изменениям в настройках, мы смогли увеличить производительность проекта в 3 раза, а взаимодействие с БД — от 3 до 5 раз (на основании общей оценки теста «Битрикс»). Работой проекта на новом сервере наш клиент полностью доволен. We did it!

В данном способе оптимизации мы сделали акцент на основных моментах, с которыми взаимодействует «Битрикс», а также на сам тест. Клиенты часто обращают внимание именно на него.

Среди других способов повышения производительности «Битрикс» можно назвать установку и настройку кеширующего сервиса (например, Redis). Показатель производительности в CMS может упасть, но общая работа сайта должна быть лучше. Кроме того, можно использовать php-fpm, но в нашем случае переделывать ОС, изначально настроенную под «Битрикс», было бы нерационально.

Также можно еще поиграться с настройками MySQL. Они индивидуальны для каждого проекта и конфигурации, поэтому единого идеального рецепта не существует. Будет интересно узнать ваши лайфхаки по оптимизации проектов в «Битрикс». Делитесь мнением в комментариях.

Источник

Инструкция по настройке кеширования

Использование кеширования в оперативной памяти

В версии 8.5.1 главного модуля появилась поддержка кеширования не только на диск, но и в разделяемую память.

Акселераторы PHP поддерживают API работы с разделяемой памятью. Это значит, что все процессы веб-сервера могут читать и писать в общее адресное пространство. Это позволяет организовать совместно используемый синхронный кеш.

Хотя данные приложения, кешированные в файл, кешируются на уровне файловой системы, бывают ситуации (например: резервное копирование) когда этот кеш вытесняется и становится не эффективным для использования.

PHP приложения

eAcceleratorПри сборке расширения необходимо указать «—with-eaccelerator-shared-memory». Имеет те же недостатки, что и APC. Достоинство: есть возможность настроить сохранение кеша на диск.

Не поддерживается с версии 15.5.0

Демон memcached

Кроме акселераторов, схожим, но гораздо более богатым функционалом обладает демон memcached.

Это отдельный процесс использующий для коммуникаций протокол TCP/IP, который может поддерживать распределенный, разделяемый, синхронный кеш. К серверу, на котором запущен memcached, можно подключить более одного веб-сервера. Использование memcached решает проблемы кеша акселераторов, но на первое место выходит штраф производительности из-за транспорта протокола.

Пример работы с memcached на Ubuntu. Установка:

Настройки демона хорошо документированы и расположены файле /etc/memcached.conf

Для PHP имеется три расширения для работы с сервером memcached. На данный момент «1С-Битрикс: Управление сайтом» поддерживает расширение memcache. При этом при использовании memcache к нему можно подключиться через unixsocket:

Настройка Битрикса

Управление кешем реализуется через константы определяемые в файле dbconn.php (В версии ядра выше 14.0 настройки производятся в других файлах).

Пример:BX_MEMCACHE_HOSTНеобходима только при использовании memcache. В ней определяется адрес сервера на котором запущен демон memcached.

Пример:BX_MEMCACHE_PORTНе обязательная, по умолчанию принимает значение 11211.

Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.

Apc xcache zend accelerator windows cache extension for php zendopcache

Цитата
Недостаток 1: использует общую для скриптов и кеша память.
Недостаток 2: при кешировании требуется сериализация данных.

Apc xcache zend accelerator windows cache extension for php zendopcache

Цитата
BX_CACHE_SID Обязательно определять, если на одном сервере запущено более одного экземпляра «1С-Битрикс: Управление сайтом».

Apc xcache zend accelerator windows cache extension for php zendopcache

Apc xcache zend accelerator windows cache extension for php zendopcache

Apc xcache zend accelerator windows cache extension for php zendopcache

Следует также учитывать, что при использовании FastCGI у каждого процесса PHP будет свой кэш APC/eAccelerator, что приведет одновременно к многократному кэшированию одних и тех же данных и «странному» поведению продукта.

Проблема может быть решена передачей управления потомками самому PHP (через опцию PHP_FCGI_CHILDREN), что не рекомендуется, так как сам PHP имеет гораздо меньше возможностей по управлению потомками. Также использование PHP_FCGI_CHILDREN в mod_fcgid (но не в mod_fastcgi) может значительно ограничить производительность, т.к. mod_fcgid одновременно передает только один запрос процессу PHP, независимо от количества его потомков.

Таким образом, при использовании FastCGI разумным выбором будут изначально разделяемые кэши — в файлах или memcached.

Источник

Видео

Enable modul Zend Opcache extension in Xampp PHP 7

Enable modul Zend Opcache extension in Xampp PHP 7

40 - Уроки PHP. Memcache кеширование в PHP

40 - Уроки PHP.  Memcache кеширование в PHP

IIS 8 with PHP 5.6: WinCache VS Zend Op Cache

IIS 8 with PHP 5.6: WinCache VS Zend Op Cache

Z-Ray for OPcache

Z-Ray for OPcache

Zend Server Page Caching

Zend Server Page Caching

Tutoriel PHP : OPcache

Tutoriel PHP : OPcache

PHP APC overview #44

PHP APC overview #44

PHP OPCache, Realpath Cache and Preloading - Jachim Coudenys - PHP UK 2020

PHP OPCache, Realpath Cache and Preloading - Jachim Coudenys - PHP UK 2020

XAMPP Tutorial 3 - How to install the APC extension

XAMPP Tutorial 3 - How to install the APC extension

Настройка Xdebug в NetBeans с использованием Zend Framework

Настройка Xdebug в NetBeans с использованием Zend Framework
Поделиться или сохранить к себе:
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных, принимаю Политику конфиденциальности и условия Пользовательского соглашения.