1С-Битрикс:Управление сайтом 10.0Веб-кластер

Содержание

Слайд 2

Сколько стоит 1 час?

Крупный интернет-магазин с годовым оборотом 1.5 млрд. руб.
210

Сколько стоит 1 час? Крупный интернет-магазин с годовым оборотом 1.5 млрд. руб.
рабочих дней в году по 10 рабочих часов.
Час простоя крупного интернет-проекта может обойтись владельцам в 0,3 - 1 миллион рублей упущенной выручки.

Пример:

Слайд 3

1С-Битрикс: Веб-кластер

Основные задачи, которые необходимо решить:
Обеспечение высокой доступности сервиса (так называемые HA

1С-Битрикс: Веб-кластер Основные задачи, которые необходимо решить: Обеспечение высокой доступности сервиса (так
- High Availability или Failover кластеры)
Масштабирование веб-проекта в условиях возрастающей нагрузки (HP - High Performance кластеры)
Балансирование нагрузки, трафика, данных между несколькими серверами.
Создание целостной резервной копии данных для MySQL.

Слайд 4

1С-Битрикс: Веб-кластер

«Веб-кластер» обеспечивает непрерывность бизнеса, отказоустойчивость, масштабирование, распределение нагрузки.
Любой новый или работающий

1С-Битрикс: Веб-кластер «Веб-кластер» обеспечивает непрерывность бизнеса, отказоустойчивость, масштабирование, распределение нагрузки. Любой новый
проект на 1С-Битрикс: Управление сайтом 10.0 может быть представлен как веб-кластер взаимозаменяемых серверов.
При увеличении посещаемости можно быстро добавить в кластер новые сервера.
В случае выхода из строя одного из серверов кластера система продолжает беспрерывно обслуживать Клиентов.
Балансирование нагрузки, трафика, данных между несколькими серверами.
Система позволяет снимать резервные копии со специально выделенных узлов кластера, не влияя на работу сайта.

Слайд 5

Веб-приложение («1С-Битрикс»)

Кэш данных

База данных

Традиционная конфигурация

Веб-приложение («1С-Битрикс») Кэш данных База данных Традиционная конфигурация

Слайд 6

История производительности платформы

До 2005 года вопросом производительности системно не занимались.
2005 год –

История производительности платформы До 2005 года вопросом производительности системно не занимались. 2005
производительность стала существенной задачей для разработки.
2007 год – появление инструментов отладки SQL-запросов. Cистемная работа над производительностью продукта.
2007 год – первое нагрузочное тестирование с QSOFT (1.5 млн. хитов в сутки на редакции «Бизнес», 6 млн. – на редакции «Старт»).
2008-2010 годы – развернуто 4 конфигурации Oracle RAC с 4 серверами.
2009 год – «монитор производительности» во всех редакциях продукта.
2009-2010 годы – выпущены «1С-Битрикс: Виртуальная машина» и «1С-Битрикс: Веб-окружение».
2008-2011 – сертификация хостинг-провайдеров.
2010 год – рост производительности – на 430%! Новые нагрузочные тесты: 8.5 млн. хитов – «Бизнес», 12.4 млн. – «Старт», 85 млн. – «HTML кеш».

Слайд 7

За три года – на 430% быстрее!

+110%

+430%

За три года – на 430% быстрее! +110% +430%

Слайд 8

Варианты масштабирования до 10.0

Разделение на два сервера: веб-сервер + база данных.
Увеличение мощности

Варианты масштабирования до 10.0 Разделение на два сервера: веб-сервер + база данных.
оборудования (чем мощнее – тем дороже; рост стоимости не пропорционален).
Выделение кеша на один внешний сервер через memcached.
Переход на Oracle (минимальная лицензия +5000$ за процессор).
Создание Oracle RAC (Real Application Cluster). Проект – около 150 000$ (оборудование + лицензия + «общая полка»). Очень мало специалистов.
Для большинства клиентов производительности достаточно, но не решены проблемы отказоустойчивости, резервирования, сетевой доступности.

Слайд 9

1С-Битрикс: Веб-кластер

«1С-Битрикс: Веб-кластер» - это комбинация технологий:
Вертикальный шардинг (вынесение модулей на отдельные

1С-Битрикс: Веб-кластер «1С-Битрикс: Веб-кластер» - это комбинация технологий: Вертикальный шардинг (вынесение модулей
серверы MySQL)
Репликация MySQL (Oracle и MS SQL в дальнейшем) и балансирование нагрузки между серверами
Распределенный кеш данных (memcached)
Непрерывность сессий между веб-серверами (хранение сессий в базе данных)
Кластеризация веб-сервера:
Синхронизация файлов
Балансирование нагрузки между серверами

Слайд 10

1С-Битрикс: Веб-кластер

Тестовый веб-кластер – в «облаке» Amazon

1С-Битрикс: Веб-кластер Тестовый веб-кластер – в «облаке» Amazon

Слайд 11

База данных MySQL

База данных MySQL 1

База данных MySQL 2

Вертикальный шардинг

Горизонтальный шардинг

База данных

База данных MySQL База данных MySQL 1 База данных MySQL 2 Вертикальный
MySQL

База данных MySQL 1

База данных MySQL 2

Аккаунты a-m

Аккаунты n-z

Шардинг

Слайд 12

Hазделение одной базы данных веб-приложения на две и более базы данных за

Hазделение одной базы данных веб-приложения на две и более базы данных за
счет выделения отдельных модулей, без изменения логики работы веб-приложения:
Веб-аналитика
Поиск
Эффективное распределение нагрузки.
Масштабирование.
Разделение больших объемов данных.

Вертикальный шардинг

Слайд 13

Веб-сервер

Выделенный сервер MySQL

«1С-Битрикс: Управление сайтом»

Модуль «Поиск»

Модуль «Веб-аналитика»

Интенсивное использование клиентами поиска и статистики

Примеры решений на

Веб-сервер Выделенный сервер MySQL «1С-Битрикс: Управление сайтом» Модуль «Поиск» Модуль «Веб-аналитика» Интенсивное
веб-кластере: «Масштабирование при росте нагрузки (MySQL)»

Слайд 14

Веб-сервер

«1С-Битрикс: Веб-кластер»

Вертикальный шардинг «1С-Битрикс: Веб-кластер»

Выделенный сервер MySQL

Модуль «Поиск»

Модуль «Веб-аналитика»

Выделенный сервер MySQL

Примеры решений на веб-кластере: «Масштабирование при росте

Веб-сервер «1С-Битрикс: Веб-кластер» Вертикальный шардинг «1С-Битрикс: Веб-кластер» Выделенный сервер MySQL Модуль «Поиск»
нагрузки (MySQL)»

Слайд 15

Гибкая балансировка нагрузки SQL
Простота администрирования
Дешевое и быстрое неограниченное масштабирование
Он-лайн бэкап
Не требуется доработка

Гибкая балансировка нагрузки SQL Простота администрирования Дешевое и быстрое неограниченное масштабирование Он-лайн
логики веб-приложения

Репликация и балансировка нагрузки MySQL

Слайд 16

Репликация и балансировка нагрузки MySQL

Репликация и балансировка нагрузки MySQL

Слайд 17

Веб-сервер

База данных MySQL

Веб-приложение

Высокая нагрузка: ~10^3 writes/sec
~10^4 reads/sec

Высокая посещаемость

1) Запросы обрабатываются только одним сервером

Веб-сервер База данных MySQL Веб-приложение Высокая нагрузка: ~10^3 writes/sec ~10^4 reads/sec Высокая
СУБД
2) CPU и дисковая подсистема СУБД – перегружены

Масштабирование при росте нагрузки MySQL

Слайд 18

Веб-сервер

База данных MySQL MASTER

«1С-Битрикс: Веб-кластер»

База данных MySQL SLAVE 1

База данных MySQL SLAVE N

База данных

Веб-сервер База данных MySQL MASTER «1С-Битрикс: Веб-кластер» База данных MySQL SLAVE 1
MySQL SLAVE …

MySQL replication, mixed-mode

SQL-балансировщик 1С-Битрикс

Масштабирование при росте нагрузки MySQL

Слайд 19

Высокая эффективность - за счет централизованного использования кэша веб-приложением
Надежность - за счет

Высокая эффективность - за счет централизованного использования кэша веб-приложением Надежность - за
устойчивости подсистемы кешировния к выходу из строя отдельных компонентов
Неограниченная масштабируемость - за счет добавления новых memcached-серверов.
memcached
1
memcached
2
memcached
3

Веб-кластер «1С-Битрикс»

40%

30%

30%

Веб-сервер

Веб-сервер

Веб-сервер

Распределенный кеш данных (memcached)

Слайд 20

Распределенный кеш данных (memcached)

Распределенный кеш данных (memcached)

Слайд 21

Непрерывность сессий между веб-серверами

Пользовательская сессия должна быть "прозрачной" для всех серверов веб-кластера.

Непрерывность сессий между веб-серверами Пользовательская сессия должна быть "прозрачной" для всех серверов

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

Слайд 22

Веб-сервер

База данных MySQL

Веб-приложение

Высокая нагрузка на CPU >80%

Высокая посещаемость

1) Нагрузка обрабатывается только одним

Веб-сервер База данных MySQL Веб-приложение Высокая нагрузка на CPU >80% Высокая посещаемость
веб-сервером
2) CPU перегружен обработкой PHP, прекомпилятор включен, наблюдаются segmentation faults

Задача: масштабирование при росте нагрузки

Слайд 23

Веб-сервер

База данных MySQL

Нода 1 «1С-Битрикс: Веб-кластер»

Высокая посещаемость

Веб-сервер

Нода 2 «1С-Битрикс: Веб-кластер»

Балансировщик нагрузки

Нагрузка на

Веб-сервер База данных MySQL Нода 1 «1С-Битрикс: Веб-кластер» Высокая посещаемость Веб-сервер Нода
CPU <50%

1) Нагрузка равномерно распределяется между нодами веб-кластера
2) Сервера приложений не перегружены и работают в устойчивом штатном режиме

Авто-синхронизация

Задача: масштабирование при росте нагрузки

Слайд 24

База данных MySQL

Нода 1 «1С-Битрикс: Веб-кластер»

Очень высокая посещаемость

Балансировщик нагрузки

Нода 2 «1С-Битрикс: Веб-кластер»

Нода N «1С-Битрикс: Веб-кластер»


Задача:

База данных MySQL Нода 1 «1С-Битрикс: Веб-кластер» Очень высокая посещаемость Балансировщик нагрузки
масштабирование при росте нагрузки

Слайд 25

Веб-сервер 1

/var/www

Веб-сервер 2

?

Задача синхронизации файлов

Веб-сервер 1 /var/www Веб-сервер 2 ? Задача синхронизации файлов

Слайд 26

Два типа:
1. Синхронный:
Общая «дисковая полка» (дорого, не резервирует данные)
Сетевые средства – NFS

Два типа: 1. Синхронный: Общая «дисковая полка» (дорого, не резервирует данные) Сетевые
(очень медленно)
OCFS2
DRDB
2. Асинхронный (синхронизация локальных дисков)
rsync
csync2

Синхронизация дисковых систем

Слайд 27

NFS, SMB/CIFS, …. Просто, но медленно.

Веб-сервер 1

Веб-сервер 2

NAS (Network Attached Storage)

/var/www

OCFS2, GFS2, …. Быстро,

NFS, SMB/CIFS, …. Просто, но медленно. Веб-сервер 1 Веб-сервер 2 NAS (Network
но сложно и дорого.

SAN (Storage Area Network), «дисковая полка»

/var/www

Тип 1: общее хранилище данных

Слайд 28

Нода 2 «1С-Битрикс: Веб-кластер»

Csync2

Нода 1 «1С-Битрикс: Веб-кластер»

Csync2

/var/www

/var/www

Нода 3 «1С-Битрикс: Веб-кластер»

Csync2

/var/www

Тип 2: синхронизация локальных

Нода 2 «1С-Битрикс: Веб-кластер» Csync2 Нода 1 «1С-Битрикс: Веб-кластер» Csync2 /var/www /var/www
дисков

Слайд 29

Почему мы выбрали csync2?

Быстрый доступ к файлам приложения за счет использования локальных

Почему мы выбрали csync2? Быстрый доступ к файлам приложения за счет использования
хранилищ.
Высокая скорость работы.
Низкое потребление ресурсов (CPU, дисковые операции). Два этих фактора позволяют запускать процесс синхронизации максимально часто, поэтому данные на серверах становятся идентичными практически в "реальном времени".
Простота настройки для обмена данными между любым количеством серверов.
Возможность синхронизации удаления файлов.
Защищенный обмен данными между хостами (SSL).

Слайд 30

Веб-сервер

База данных MySQL MASTER

«1С-Битрикс: Веб-кластер»

База данных MySQL SLAVE 1

База данных MySQL SLAVE N

Он-лайн бэкап

Веб-сервер База данных MySQL MASTER «1С-Битрикс: Веб-кластер» База данных MySQL SLAVE 1
данных

Диск

Целостный логический/физический бэкап MySQL без замедления работы основной системы

База данных MySQL MASTER candidate

DRBD – он-лайн бэкап диска с базой данных

Организация резервного копирования - MySQL

Слайд 31

Веб-сервер

«1С-Битрикс: Веб-кластер»

/var/www

LVM

/var/www – снепшот 1

/var/www – снепшот 2

/var/www –

Веб-сервер «1С-Битрикс: Веб-кластер» /var/www LVM /var/www – снепшот 1 /var/www – снепшот
снепшот 3

Быстрый, целостный бэкап на уровне Linux

Быстрый, целостный, инкрементальный, автоматически консолидирумый бэкап инструментами хостера

Организация резервного копирования - файлы

Слайд 32

«1С-Битрикс: Веб-кластер», ДЦ в Москве

БД

Веб-нода

«1С-Битрикс: Веб-кластер», ДЦ в Нью-Йорке

«1С-Битрикс: Веб-кластер», ДЦ в

«1С-Битрикс: Веб-кластер», ДЦ в Москве БД Веб-нода «1С-Битрикс: Веб-кластер», ДЦ в Нью-Йорке
Новосибирске

круговой, асинхронной, master-master репликацией для обеспечения работы географически распределенных веб-кластеров 1С-Битрикс

Кэш

БД

Веб-нода

Кэш

БД

Веб-нода

Кэш

Мы работаем над…

Слайд 33

«1С-Битрикс: Веб-кластер», ДЦ в Москве

БД

Веб-нода

«1С-Битрикс: Веб-кластер», ДЦ в Нью-Йорке

«1С-Битрикс: Веб-кластер», ДЦ в

«1С-Битрикс: Веб-кластер», ДЦ в Москве БД Веб-нода «1С-Битрикс: Веб-кластер», ДЦ в Нью-Йорке
Новосибирске

круговой, асинхронной, master-master репликацией для обеспечения работы географически распределенных веб-кластеров 1С-Битрикс

Кэш

БД

Веб-нода

Кэш

БД

Веб-нода

Кэш

БД

Веб-нода

Кэш

БД

Веб-нода

Кэш

БД

Веб-нода

Кэш

БД

Веб-нода

Кэш

БД

Веб-нода

Кэш

БД

Веб-нода

Кэш

Мы работаем над…

Слайд 34

«Живой» «Веб-кластер» в Амазоне!
Поехали! ☺

«Живой» «Веб-кластер» в Амазоне! Поехали! ☺

Слайд 35

Балансировщик (клиентские запросы по HTTP)

Веб-сервер 1
memcached 1

Веб-сервер 2
memcached 1

MySQL
master

MySQL
slave

Балансировщик (клиентские запросы по HTTP) Веб-сервер 1 memcached 1 Веб-сервер 2 memcached

Слайд 36

Устойчивость системы при выключении узлов веб-кластера

При отключении узлов кластера система не прерывает

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

Нагрузочный тест – отключение одного из узлов кластера

Слайд 37

Руководство по настройке и администрированию
«1С-Битрикс: Веб-кластер»

http://www.1c-bitrix.ru/download/manuals/ru/web-cluster_guide.pdf

Руководство по настройке и администрированию «1С-Битрикс: Веб-кластер» http://www.1c-bitrix.ru/download/manuals/ru/web-cluster_guide.pdf
Имя файла: 1С-Битрикс:Управление-сайтом-10.0Веб-кластер.pptx
Количество просмотров: 165
Количество скачиваний: 0