68  /  96

Конфигурации веб-кластера для решения практических задач

Просмотров: 1198 (Статистика ведётся с 06.02.2017)

Использование веб-кластерных технологий позволяет иметь несколько серверов веб-приложений, несколько баз данных, несколько memcached-серверов (на примере 1С-Битрикс: Веб-кластер):

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

Помимо аппаратных, существуют и программные решения балансировки нагрузки между серверами:


Для определения наиболее подходящей конфигурации необходимо проанализировать характер нагрузки на веб-приложение с помощью различных инструментов мониторинга (munin, zabbix, apache server-status).

Высокая нагрузка на процессоры, невысокая/средняя нагрузка на СУБД, редкая смена контента

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

Примечание: если в веб-кластере подключен кэш, то для дополнительного снижения нагрузки на процессоры рекомендуется на каждой ноде запустить сервер memcached, за счет чего единожды созданный на одной ноде кэш будет использоваться другими нодами.

Для синхронизации контента подойдет csync2, nfs/cifs-сервер на одной из нод веб-кластера.

Высокая растущая нагрузка на СУБД

Снизить нагрузку на master-базу путем добавления slave-нод. С учетом их мощности распределить между ними нагрузку с помощью параметра Процент распределения нагрузки.

При дальнейшем увеличении нагрузки на СУБД:

  • т.к. master-сервер будет использоваться преимущественно для записи, путем настройки параметров его нужно оптимизировать для записи, а slave-ноды - для чтения;
  • Добавлять slave-ноды.

Большой объем часто перестраиваемого кэша, контент постоянно обновляется

Для эффективной работы с кэшем запускаем на каждой ноде сервер memcached и выделяем каждому по несколько GB памяти (в зависимости от требований приложения).

Для синхронизации контента рекомендуется использовать выделенный nfs/cifs-сервер, либо ocfs/gfs или аналоги.


2
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии