Администратор. Базовый
Производительность и отказоустойчивость
Веб-кластер
Локальный кеш в кластере
Локальный кеш в кластере
Урок
230
из
280

Автор:
Роберт Басыров
Сложность урока:
3 из 5
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
Дата изменения:
19.05.2020
Просмотров:
9571
Ограничения по редакциям:
Старт, Стандарт, Малый бизнес, Бизнес
Ускоряем работу с кешем |
Использование подключения через 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); ?>
- Перенести слэйв сервера в административную часть БУС, по нужным группам. Для переноса слэйв серверов в нужную группу необходимо, отредактировать соответствующие записи в таблице b_cluster_dbnode, установив нужное значение в поле
GROUP_ID
. - Для переноса серверов memcached в нужную группу, необходимо установить нужное значение ключа
GROUP_ID
в файле/bitrix/modules/cluster/memcache.php
.
После этого сервера начнут работать с локальным кешем через сокет, что значительно быстрее чем работа с удаленными серверами по tcp.
Поделиться:
Курсы разработаны в компании «1С-Битрикс»
Мы стараемся сделать документацию понятнее и доступнее,
и Ваше мнение важно для нас
и Ваше мнение важно для нас