Телеграм: @camouf_ru Почта: mihail@bazarow.ru

Memcached на сайте под управлением битрикс, при использовании Веб Окружения Битрикс

Просмотров: 6370

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

Memcached в Битрикс

Для начала открываем файл .settings.php который лежит в корне и добавляем в него:


	 'cache' => array(
	   'value' => array (
	     'type' => 'memcache',
	     'memcache' => array(
	       'host' => '127.0.0.1',
	       'port' => '11211',
	       'sid' => $_SERVER["DOCUMENT_ROOT"]."#site01",
	     ),
	   ),
	   'readonly' => false,
	 ),

Далее идем в Настройки -> Управление масштабированием -> Панель управления и в пунке Memcahed выбираем "Добавить роль Memcahed", на этом этапе может возникнуть одна, не большая, заморочка- как ее решить смотрите в видео.

Видео, настройка memcached в битрикс:

Обновление: memcached в новых версиях 1С-Битрикс

Дополнено спустя несколько лет. Теперь, что бы включить memcached нужно:
в файл по пути /bitrix/php-interface/dbconn.php добавить

define("BX_CACHE_TYPE", "memcache");
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#site01");
define("BX_MEMCACHE_HOST", "127.0.0.1");
define("BX_MEMCACHE_PORT", "11211");

В директории bitrix создать (или заменить содержимое) файл .settings_extra.php и в него добавить


php
return array(
  'cache' => array(
    'value' => array(
      'type' => 'memcache',
      'memcache' => array(
        'host' => '127.0.0.1',
        'port' => '11211',
      ),
      'sid' => $_SERVER["DOCUMENT_ROOT"]."#site01"
    ),
  ),
);
О комплексном ускорении сайта на 1С-Битрикс можно ознакомиться в этой заметке. Про более детальную настройку memcached там же: Ускорение работы сайта на 1С-Битрикс
Михаил Базаров 21.05.2022
Цитата
Микки Маус написал:
Подскажите, пожалуйста, как записать второй сайт?! У меня многосайтовость на разных доменах, которую настроил благодаря Вашему уроку. Новой строкой можно?
'sid' => $_SERVER["DOCUMENT_ROOT"]."#site01",
'sid' => $_SERVER["DOCUMENT_ROOT"]."#site02",

На многосайтовости достаточно одной строки, сколько бы сайтов не было- Битрикс сам разрулится с их кешами.
А по поводу включать или нет: тут решайте сами. Думаю, когда кеша станет много и вырастет посещаемость: из оперативки будет отдаваться быстрее.
Микки Маус 07.06.2019
Подскажите, пожалуйста, как записать второй сайт?! У меня многосайтовость на разных доменах, которую настроил благодаря Вашему уроку. Новой строкой можно?
'sid' => $_SERVER["DOCUMENT_ROOT"]."#site01",
'sid' => $_SERVER["DOCUMENT_ROOT"]."#site02",
Напишите полный код, если не трудно.
И еще такой вопрос. Нужно ли включать memcached, если памяти 2Gb, но диск NVMe? Тест показывает , что производительность выше при кэшировании в файл. Несущественно, но выше.

Работы из портфолио

В портфолио не публикуются работы, доля моего участия в которых менее 80%.
Часто обращаются за доработками уже существующих проектов или реализацией не стандратного функционала на готовых сайтах.