Администратор. Модули
Веб-кластер
Локальный кеш в кластере
Локальный кеш в кластере
Урок
103
из
332
Автор:
Роберт Басыров
Сложность урока:
5 из 5
5 уровень - сложно, но не смертельно. Нужно подумать, вспоминать уже пройденный материал, собрать в кучу внимание, немного терпения и всё получится.
Просмотров:
49499
Дата изменения:
23.08.2024
Недоступно в лицензиях:
Старт, Стандарт, Малый бизнес, Бизнес
Текущую редакцию Вашего 1С-Битрикс можно просмотреть на странице Обновление платформы (Marketplace > Обновление платформы).
Ускоряем работу с кешем |
Внимание! Ниже описаны действия, которые можно отнести к экстремальному тюнингу. Действия требуют от системного администратора довольно высокого уровня компетенции, нужно чётко понимать смысл выполняемых действий.
Использование подключения через unix soket к локальным memcache серверам, ускоряет работу проекта. Ядро обеспечивает валидность кеша на всех нодах, удаляя помеченные ключи кеша на них. Такой режим работы кластера очень хорошо себя зарекомендовал в различных нагрузочных тестах и реальной эксплуатации, обеспечивая прирост порядка 30% за счет более быстрой работы с кешем.
Настройка режима работы с локальным кешем |
Предположим, есть две ноды на которых настроены роли веб сервера, мемкеша и БД. В этом случае необходимо выполнить следующие шаги:
- Настроить memcache на использование веб сокета и модуль Веб-кластер на работу с мемкешем через сокет.
- Для настройки memcache на работу с сокетом выполните команду:
cat /etc/sysconfig/memcached # Ansible managed: /etc/ansible/roles/memcached/templates/sysconfig-memcached.j2 modified on 2015-01-30 19:00:16 by root on bx24.perf # memcached settings PORT="11211" USER="memcached" MAXCONN="4096" CACHESIZE="512" OPTIONS="-t 8 -s /tmp/memcached.sock -a 0777"
- Для настройки модуля Веб-кластер на работу с мемкешем через сокет
указать
В случае, если в проекте планируется использовать memcached, необходимо произвести его настройку в соответствии с предполагаемой нагрузкой.
Подробнее ... порт 0 и урлunix:///tmp/memcached.sock
- Для настройки memcache на работу с сокетом выполните команду:
- В модуле кластера добавить нужное количество
групп
Группы - сущность созданная только для удобства работы. Они используются для объединения "узлов" в рамках гео-кластера. Это позволяет расположить в различных географически расположенных дата-центрах собственные: Cервера баз данных, Memcached-сервера, Веб-сервера.
Подробнее ... . - На каждом сервере определить константы указывающие ID группы, а также включающий режим чтения слэйвов из любой группы.
<? define('BX_CLUSTER_GROUP', 1); define('BX_CLUSTER_SLAVE_USE_ANY_GROUP', true); ?>
- Перенести слэйв сервера в административную часть 1С-Битрикс по нужным группам. Для переноса слэйв серверов в нужную группу необходимо отредактировать соответствующие записи в таблице b_cluster_dbnode, установив нужное значение в поле
GROUP_ID
. - Для переноса серверов memcached в нужную группу необходимо установить нужное значение ключа
GROUP_ID
в файле/bitrix/modules/cluster/memcache.php
.
После этого сервера начнут работать с локальным кешем через сокет, что значительно быстрее чем работа с удаленными серверами по tcp.
Мы стараемся сделать документацию понятнее и доступнее,
и Ваше мнение важно для нас
и Ваше мнение важно для нас
Курсы разработаны в компании «1С-Битрикс»