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

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

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

На многосайтовости достаточно одной строки, сколько бы сайтов не было- Битрикс сам разрулится с их кешами.
А по поводу включать или нет: тут решайте сами. Думаю, когда кеша станет много и вырастет посещаемость: из оперативки будет отдаваться быстрее.
Вадим 04.10.2023
Добрый день, Михаил!

Подскажите, используется веб-окружение 7.5.2, до настройки memcached, хранение кеша - cacheenginefiles, после настройки, написано, что используется cachememcached. На сайте в режиме отладки: Объем кеша: 0 Б (105). Скрипт для проверки работоспособности показывает, что memcached работает.

1) cachememcached - правильно понимаю, что используется memcached?
2) Объем кеша: 0 Б (105) - почему может показывать, что объем кеша 0 ?
Гость 04.10.2023
Цитата
Вадим написал:
Добрый день, Михаил!

Подскажите, используется веб-окружение 7.5.2, до настройки memcached, хранение кеша - cacheenginefiles, после настройки, написано, что используется cachememcached. На сайте в режиме отладки: Объем кеша: 0 Б (105). Скрипт для проверки работоспособности показывает, что memcached работает.

1) cachememcached - правильно понимаю, что используется memcached?
2) Объем кеша: 0 Б (105) - почему может показывать, что объем кеша 0 ?

Михаил, правильно понимаю, что после версии битрикс 14.0, не нужно редактировать файл dbconn.php и .settings_extra.php, достаточно прописать настройки в файле .settings.php ?
Установлена актуальная версия "1С-Битрикс: Управление сайтом 23.500.200".
Михаил Базаров 04.10.2023
Немного не так.
Больше не надо в dbconn.php и в .settings.php
Достаточно только в .settings_extra.php