Сколько стоит сделать кластер серверов для сайта с высокой нагрузкой на 1С-Битрикс

Сергей Г.
Александр М.

Все крупные интернет-проекты, социальные сети, федеральные интернет-магазины, SAAS-сервисы работают на нескольких серверах. Чем больше посещаемость, тем больше серверов. Давайте разберемся почему почему так происходит и как научить сайт на Битриксе работать на нескольких серверах.

В каких случаях 1 сервера становится мало?

Дополнительный сервер нужен, если:

  1. Особенности проекта вынуждают вынести базу данных, кеш или другую часть сайта на отдельный сервер

    1. Нагрузка большая, ничего не помогает (код оптимизировали, базу настроили, память и процессор — лучшее из возможного).

    2. Сайт должен открываться быстро для пользователей из разных стран

  2. Резервный сервер с проектом, на случай аварии на основном.

Если сайт на Битриксе не справляется с нагрузкой

Вы создали интернет-магазин на 1С-Битрикс. Сайт работает, приносит деньги, но — тормозит.

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

Что делать? Правильный алгоритм:

  1. выполняем оптимизацию,

  2. увеличиваем ресурсы сервера,

  3. добавляем ещё серверы и строим из них кластер.

Оптимизация интернет-магазина

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

Процесс похож на постройку гоночного автомобиля. Выкидываем всё лишнее, оставляем необходимый минимум. Автомобиль должен стать легким.

Процесс оптимизации подробно описан в статье: подготовка интернет-магазина к высоким нагрузкам. Когда оптимизировать уже нечего, можно переходить к серверу.

Изменения на сервере. Масштабирование интернет-магазина

Изменение конфигурации сервера или добавление дополнительных серверов принято называть масштабированием.

Масштабирование бывает 2-х видов: вертикальное и горизонтальное. Вертикальное масштабирование это увеличение ресурсов на одном сервере (замена процессора, добавление оперативной памяти и т. д.). Горизонтальное масштабирование это увеличение количества серверов.

Увеличение ресурсов сервера (вертикальное масштабирование интернет-магазина)

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

Нагрузочные тестирование показывает, что интернет-магазин с 60 000 SKU на одном VDS сервере способен выдерживать нагрузку 300 RPS (это 300 запросов в секунду).
Это запросы, которые NGINX отправляет в APACHE, т.е. запросы к страницам сайта, а не JS/CSS и картинкам.

Если конвертировать RPS в пользователей, сайт будет работать при посещаемости 100 000 пользователей в сутки.

Добавление серверов (горизонтальное масштабирование сайта на 1С-Битрикс)

Существуют разные способы горизонтального масштабирования. Большинство из них подробно описаны в интернете. Однако, не все совместимы с проектами на 1С-Битрикс. Кроме этого, не каждая редакция 1С-Битрикс позволяет это сделать. Например, для интернет-магазинов нужна редакция «Энтерпрайз / Enterprise», т.к. в ней есть модуль «Веб-кластер».

Процедура настройки кластера из 2 серверов выглядит так:

  1. Покупаем 2 одинаковых выделенных сервера

  2. Устанавливаем на все серверы специальный софт «Битрикс Веб-окружение»

  3. Один из серверов выбираем основным, он будет называться MASTER

  4. Второй сервер будет ему подчиняться и называется SLAVE

  5. На MASTER-сервере разворачивается резервная копия сайта

  6. Битрикс веб-окружение позволяет распространить файлы и базу данных сайта на SLAVE-сервер

  7. На MASTER и SLAVE серверах настраиваем общую систему кеширования

  8. Тестируем работу сайта

На все эти процедуры уходит 16−24 часа работ.

Как работает кластер из нескольких серверов?

Важно понимать в каких отношениях находятся серверы. SLAVE полностью дублирует MASTER. Если на MASTER загружаются или удаляют файлы, эти изменения очень быстро попадают на SLAVE.

Теперь все запросы пользователей будут обслуживаться двумя серверами. Все запросы будут поступать в MASTER-сервер, который будет делегировать часть операций SLAVE-серверу.

К сожалению, Битрикс устроен так, что он не может полностью отдавать запросы SLAVE-серверу, не нагружая MASTER. Однако, даже частичное делегирование, повышает максимальное количество пользователей, которое способен обслужить ваш сайт.

Как меняется стоимость сопровождения проекта?

На стоимости и скорости разработки это никак не сказывается. Дорожает только хостинг и услуги администрирования.

Мы перевели на такую конфигурацию интернет-магазин нашего клиента 704ka.ru. После перехода, взяли на себя администрирование и мониторинг обоих серверов. Аварий нет — полет нормальный.

Запасной сервер

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

Предположим, в один из дата-центров бьёт молния, как это было в 2011 году с 1С-Битрикс, или начинается DDOS атака. В этот момент, ваш MASTER теряет связь с внешним миром и сайт выключается. Нам нужно 30 минут, чтобы перевести SLAVE в режим MASTER и возобновить работу вашего сайта.

Согласен, молния это экзотика. Однако, ddos атака на один из дата-центров вполне реальна.

Заключение

Как вы поняли, не бывает 100% надёжных систем. Однако, если взять ситуацию в свои руки и привлечь правильных специалистов, количеством аварий и масштабом их последствий можно будет управлять.

Порядок действий, для тех кто уже столкнулся с проблемой производительности:

  1. Провести аудит и найти источники проблем в проекте

  2. Убрать лишний и медленный код, ускорить работу базы данных

  3. Сделать апгрейд сервера

  4. Увеличить количество серверов

Если хотите привлечь нас к этому процессу — заполните форму заявки или оставьте в комментарии ваши контакты.

Оцените статью
11.09.2017
Понравилась статья?
Поделитесь ссылкой с друзьями и коллегами!

Статьи по теме

10 обязательных задач поддержки сайта на БитриксСтатья посвящена организации поддержки сайтов на Битрикс. Здесь не только про решение технических проблем и устранение багов. Здесь про развитие живых проектов...
Как увеличить продажи оптово-розничных компаний с помощью автоматизации?Расскажем об увеличении продаж металлопроката за счет улучшения пользовательского опыта. Доработали интернет-магазин, чтобы клиенты видели свои заказы независим...
ТОП проблем сайтов на Битриксе из аудитов ИНТЕРВОЛГИ В статье расскажем о наиболее частых ошибках разработки проектов на 1С-Битрикс. Мы выявили их в ходе 10+ последних аудитов производительности и качества код...
Запускаем бесконтактную доставку в интернет-магазине на БитриксСегодня, как никогда, магазины стремятся перенести продажи в онлайн. Это не просто тренд – это необходимость. Но если у вас уже есть интернет-магазин, это не зн...
Foodtech-разработка: интерфейсы для касс MYBOXСтатья о том, как разобраться с задачей переработки дизайна кассового ПО MYBOX: выезд «в поля», вдумчивый аудит и много-много раз перерисованный дизайн ...
Решение типовых ошибок при организации продаж через интернет-магазин в разные регионы Как сделать свой сайт удобным для пользователей, оперативным в обновлении актуальных остатков, цен, скидок для товаров в их регионе? Счастливые облад...
Мы работаем по одному из двух форматов:
  • аренда команды (от 2 человек, не менее 3 месяцев);
  • итерации с фиксированной ценой (1-3 месяца длительностью).
ИНТЕРВОЛГА предоставляет:
  • регулярные онлайн-планерки с заказчиком;
  • квалифицированных специалистов;
  • организованную команду (находятся в одном помещении, что упрощает решение рабочих вопросов);
  • полную прозрачность и регулярность отчетов о результатах.
Ключевые услуги:
  • нагруженный интернет-магазин;
  • личный кабинет;
  • оптовые продажи — B2B-платформа;
  • маркетплейс;
  • технический аудит сайта;
  • Битрикс24 — корпоративные HR-порталы;
  • Битрикс24 — построение CRM-системы;
  • Битрикс24 — личные кабинеты сотрудников;
  • Битрикс24 — аудит портала;
  • 1С — интеграция с другими системами;
  • 1С — доработка системы;
  • маркетинг — комплексное интернет-продвижение;
  • маркетинг — продвижение для B2B.
Хотите получать лучшие статьи от INTERVOLGA раз в месяц?
Подпишитесь на рассылку — спамить не будем