bitrix memcache php 7

Установка и настройка memcached в 1С-Битрикс

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

Использование memcached для 1С-Битрикс повысит производительность, уменьшит время отклика сервера, а страницы сайта будут загружаться быстрее.

Установка memcached

Если используете 1С-Битрикс: Веб-окружение, то memcached и уже установлен. Его необходимо включить залогинившись в BitrixEnv на сервере выбрав в меню Configure Memcahed service for the pool. Затем переходите к конфигурации memcached.

Если же memcached не установлен или вы используете не стандартное веб-окружение, установите его на сервер. В CentOS это делается так:

Далее добавьте memcached в автозагрузку.

Установите библиотеку php-memcache (в 1С-Битрикс: Веб-окружение модуль уже подключён).

Затем перезагрузите apache.

Конфигурация memcached

Файле /etc/sysconfig/memcached задайте следующие параметры (если нет причин использовать иное):

Примечание: параметры MAXCONN (количество одновременных подключений, по умолчанию 1024), CACHESIZE (объем памяти для кэша, по умолчанию 64MB) подбираются экспериментальным путем в зависимости от характера нагрузки и от имеющихся ресурсов. Оценить объем памяти, необходимой для кэширования (параметр CACHESIZE), можно по размеру вашего файлового кэша. Если на проекте файловый кэш занимает 3 GB, то использование memcached c 256МБ памяти не будет эффективным за счет частого вытеснения.

После настройки memcaсhed перезапустите его:

CentOS 6:

CentOS 7:

Настройка memcached в 1С-Битрикс

Чтобы 1С-Битрикс стал использовать memcached нужно внести изменения в конфигурационные файлы.

В файле /bitrix/php_interface/dbconn.php

И в файле /bitrix/.settings_extra.php (если его нет, то создать)

Вместо файла settings_extra.php секцию с memcache можно добавить в файл /bitrix/.settings.php

Убедиться, что 1С-Битрикс подключился к memcached можно панели производительности http://вашсайт.ru/bitrix/admin/perfmon_panel.php

или с помощью скрипта

Как очистить кэш memcached

Если понадобится очистить кэш memcached это можно сделать. Самый простой способ — telnet.

Ссылки

На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.

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

Источник

Bitrix memcache php 7

Курс предназначен для организаций, предоставляющих услуги хостинга и желающих получить компетенцию Рекомендуемый хостинг.

В курсе рассматриваются требования платформы Bitrix Framework к хостингу, вопросы установки, настройки продукта а также вопросы инструментов и методов оптимизации серверов и баз данных для работы с системой

Для хостеров не является обязательным, но рекомендуется изучение курсов Контент-менеджер и Администратор. Базовый для получения более полного представления о возможностях системы и способах работы с ней.

Рекомендуется ознакомиться с опытом настройки и тестирования серверов в блогах Александра Демидова и Дениса Шаромова, а так же с отзывами клиентов о хостингах в группе Черный и белый список хостингов социальной сети компании «1С-Битрикс».

Если ваш хостинг на Windows, то вам может быть полезна группа 1С-Битрикс на платформе Windows Server 2008 в социальной сети сайта «1С-Битрикс». В ней пользователи делятся опытом работы системы на IIS 7.

После изучения курса вам будет предложено пройти тесты на сертификацию. При успешной сдаче линейки тестов на странице Моё обучение можно просмотреть результат обучения и загрузить сертификат в формате PDF.

Скачать материалы курса в формате EPUB. Файлы формата EPUB Чем открыть файл на
Android:
EPUB Reader
CoolReader
FBReader
Moon+ Reader
eBoox

iPhone:
FBReader
CoolReader
iBook
Bookmate

Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome

iOS
Marvin for iOS
ShortBook
обновляются периодически, поэтому возможно некоторое отставание их от онлайновой версии курса. Версия файла от 28.04.2021.

Источник

Как работает Битрикс с memcached?

Подскажите работает ли Битрикс с memcached. У нас на сервере установлен PHP 7
Нашла такую статью https://blog.dh.md/2016/12/bitrix-php-memcached.html
Там написано о том что Битрикс не поддерживает memcached и надо установить дополнительную библиотеку.

Получается что для того чтобы Битрикс работал с memcached необходимо установить в Битрикс дополнительную библиотеку, либо так было раньше и сейчас устанавливать дополнительных библиотек не требуется?

Второй вопрос сильно ли может помочь memcached для ускорения работы сайта? В нашем случае при тестировании скорости сайта показывается, что сайт работает медленно, скорость сайта: Медленно (1.59 сек.)
Вот такие параметры загрузки сайта из разных регионов

Читайте также:  Что такое ээд роговицы глаза

Параметры производительности

Подскажите работает ли Битрикс с memcached.

Да, работает. Но для последних версий битрикса рекомендуется использовать Redis.
https://dev.1c-bitrix.ru/learning/course/index.php.

Второй вопрос сильно ли может помочь memcached для ускорения работы сайта?

Все относительно. Кеш memcached/redis работает однозначно быстрее чем файловый кеш.
Но проблема у вас может быть совсем не в кешировании.

Например если ни один компонент не складывает данные в кеш и постоянно обращается к базе то изменение механизма хранения кеша не поможет. А если под кеш выделить мало оперативной памяти (по умолчанию в bitrix env идет вроде как либо 64MB либо 1GB), а кеш большой то он может еще и замедлить работу.

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

Все относительно. Кеш memcached/redis работает однозначно быстрее чем файловый кеш.

Александр Маджугин, почему вы так считаете? Если сравнить файловый кеш на SSD диске и существующий ключ в оперативной памяти redis, то из redis данные прочитаются значительно быстрее.

Другое дело, что разница может быть не такой существенной на малых обьемах

Александр Маджугин, почему вы так считаете? Если сравнить файловый кеш на SSD диске и существующий ключ в оперативной памяти redis, то из redis данные прочитаются значительно быстрее.

Александр Маджугин, давайте разберемся. Вы говорите о «дисковом буфере в оперативной памяти», я смею предположить, что вы говорите о DRAM. Так вот он есть не у всех SSD накопителей и его размер много меньше оперативной памяти и он не хранит в себе контент файлов. К тому же вы приводите синтетический тест, так как он полностью игнорирует вытеснение информации (у вас же в реальном проекте читается не только этот файл, но и. сотня файлов битрикса + upload).

Поправьте меня, если я где-то ошибся.

Вы говорите о «дисковом буфере в оперативной памяти», я смею предположить, что вы говорите о DRAM. Так вот он есть не у всех SSD накопителей и его размер много меньше оперативной памяти и он не хранит в себе контент файлов.

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

В целом хранение в Redis и в файлах во многих случаях может быть сопостовимо.

Преимущество редиски и прочих мемкэшедов, в том что вы можете через ее использование задать жестко что держать в оперативки. Конечно если кэш у вас в редисе риск вытеснения на диск у него гораздо ниже чем у дисковых буферов. Кроме того есть выгода при хранение большого числа маленьких значений по несколько байт, но это не относится очевидно к кэшу.

А вообще можно же элементарно попробовать 😉

Источник

Настройка и использование Memcached

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

Мы решили исправить этот недостаток, используя технологию контейнеров Docker, нами был создан специальный сервис «memcache». Теперь каждый может установить свой личный memcached, в котором будут гарантированно только Ваши данные.

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

Для многих систем управления сайтом (CMS) существуют механизмы работы с memcached. Далее мы рассмотрим настройку memcached для самых популярных CMS и проведем нагрузочное тестирование с целью узнать, как изменится производительность сайта.

Для тестирования производительности сайтов будем использовать утилиту siege.
Для каждой CMS будем проводить тестирование со временем 5 минут.

WordPress и memcache

Для установки плагина работы с memcache, нужно зайти в административную панель сайта (http://site.ru/wp-admin/), затем в выпадающем списке меню «Плагины», выбрать пункт «Добавить новый»:

Читайте также:  Аккорды гитара это все что останется

На открывшейся странице в верхней части есть поиск по плагинам, нужно ввести в это поле название плагина WP-FFPC и нажать «Enter»:

Затем нажать «Установить»:

И активировать плагин:

Готово, плагин установлен, осталось его настроить, для этого нужно зайти в настройки плагина:

Установить тип расширения PHP Memcache (без d) можно для версий PHP 7.2 и ниже. Для версии 7.3 и выше Вы сможете выбрать только PHP Memcahed. Различия между этими двумя расширениями несущественны, оба расширения отвечают за подключение сайта к сервису Memcached.

Затем необходимо нажать «Сохранить настройки» (кнопка внизу страницы), в верхней части страницы должно появится сообщение о том, что настройки сохранены и плагин успешно работает с memcached:

Также стоит отметить, что в настройках плагина (вкладка «Backend settings») есть возможность указать логин/пароль для подключения к memcached:

указывать их не нужно, так как доступ к memcached возможен только с вашего аккаунта.

в конфигурационный файл CMS wp-config.php (находится в корневой директории сайта), о чем нам напоминает сам плагин:

Отредактировать wp-config.php можно как через консоль ssh, например через утилиту PuTTy, так и через Файловый менеджер, который встроен в Панель управления хостингом:

На этом настройку можно закончить, сайт будет использовать систему кеширования memcached.

Скорректировать настройки кеширования при необходимости можно в настройках плагина, например, время «жизни» кеша для определенных элементов сайта:

Ключ для кеширования:

На вкладке «Cache exceptions» можно настроить различные исключения для кеширования, такие как:

Результат с включенным memcached:

Как видно, кеширование уменьшило время ответа сервера в 4 раза.

Joomla и memcache

В CMS Joomla! система кеширования (memcached) уже присутствует, её нужно лишь включить. Для это необходимо зайти в панель управления сайтом (по умолчанию: http://site.ru/administrator/), затем перейти в раздел Сайт->Общие настройки:

Выбрать пункт «Система«:

В правой части страницы будет находиться раздел с настройками кеширования, параметры должны быть установлены следующим образом:

Нажать кнопку «Сохранить» в верхней части страницы.

Готово, сайт настроен для работы с memcached.

Проведем замер производительности, без использования memcached:

С использованием memcached:

Хоть разница показателей и незначительна, но с увеличением количества контента на сайте и его посещаемости эта разница будет увеличиваться.

Drupal и memcache

Первым делом нужно подключится к серверу по ssh, например через утилиту PuTTy, затем в консоли ssh-клиента перейти в корневую директорию сайта с drupal‘ом:

Полный путь до сайта можно посмотреть в Панели управления, в разделе Сайты:

и выполнить команду:

после чего появится сообщение:

Плагин установлен, осталось добавить несколько строк настроек в файл конфигурации CMS, по умолчанию этот файл (относительно корня сайта) находится по пути

./sites/default/settings.php

Для его редактирования из консоли можно воспользоваться одним из редакторов файлов, например vim или nano, также файл можно отредактировать из Панели управления, перейдя в раздел Файловый менеджер:

В начало файла следуют добавить следующие строки:

Установка плагина завершена, осталось его активировать, для это нужно зайти в административную панель сайта http://site.ru/admin/ перейти в раздел «Модули»:

в самом низу страницы отметить чекбоксы для активации плагина и нажать кнопку «Сохранить»:

Установка завершена, сайт использует кеширование memcache.

Проведем тест скорости загрузки страниц сайта с помощью siege:

Без использования memcached:

с использование memcached:

Видим прирост производительности на одну треть.

Bitrix и memcache

Для подключения кеширования memcache в CMS Bitrix необходимо отредактировать файл:

./bitrix/php_interface/dbconn.php (если версия ядра меньше 14.0)

./bitrix/.settings_extra.php (если версия ядра выше 14.0). Если файл ./bitrix/.settings_extra.php отсутствует, то его необходимо создать.

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

http://site.ru/bitrix/admin/index.php

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

Если редактируется файл ./bitrix/php_interface/dbconn.php (версия ядра меньше 14.0), то следует добавить строки:

Если редактируется файл ./bitrix/.settings_extra.php (версия ядра выше 14.0), то следует добавить строки:

Читайте также:  что нельзя есть при миастении

Для проверки, что сайт использует memcached, следует перейти в административную панель сайта->настройки->панель производительности->Битрикс:

Хранение кеша должно быть установлено в memcache:

Сравним производительность сайта.

Без использования memcached:

с использование memcached:

Видим, что сервер тратит меньше времени на генерацию страницы:

С увеличением контента и посетителей ресурса разница будет значительнее.

Насколько мы видим, все представленные CMS работают быстрее. При этом тестирование проводилось на CMS «из коробки» (установка производилась из Панели управления, раздел CMS), т.е. без контента, а это означает, что на рабочих и заполненных сайтах увеличение скорости работы будет видно более явно.

Webasyst и memcache

Для использования memcached с Webasyst требуется создать в каталоге сайта файл wa-config/cache.php с следующим содержимым:

Убедиться, что кэширование работает, можно, создав в корне сайта файл с таким кодом:

При обращении к нему будут выведены все ключи данных, хранящихся в Memcached.

Источник

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

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

В версии 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.

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

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

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

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

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

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

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

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

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

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

Источник

Образовательный портал