Как 1С-Битрикс справляется с высокими нагрузками?

В этой статье мы рассмотрим, как система управления 1С-Битрикс справляется с большими нагрузками.

Данный вопрос особенно актуален сегодня, когда электронная торговля начинает конкурировать по обороту с традиционными продажами в офлайне, когда качество веб-сайта стало определяться скоростью его работы и отказоустойчивостью. Как следствие, при разработке интернет-проекта всё чаще возникают вопросы: Какую CMS использовать? Брать готовое решение или писать «с нуля»? Как выбрать разработчика с компетенцией по высоконагруженной разработке?

Вопрос также актуален для владельцев небольших сайтов, интернет-магазинов и сервисов. Завтра количество посетителей увеличится в 5 раз (или в 100), резко увеличится количество контента или же сервис начнет набирать популярность, что создаст новые проблемы. Лучше позаботиться об этом на начальном этапе.

Мы живём в 21-ом веке — это время, когда есть готовые решения, которые отвечают всем требованиям рынка. Большая часть игроков, в том числе владельцы крупных проектов, выбирают CMS 1С-Битрикс. Какие же причины для этого?

Для начала давайте разберёмся, что такое «высокие нагрузки»?

Высокие нагрузки (highload)

Часто в термин «высокие нагрузки» (highload) вкладывают различный смысл, но в общем смысле среднестатистический владелец сайта ставит знак равенства между высокими нагрузками и высокой надёжностью.

Нагрузки могут формироваться следующими источниками:

  1. Количеством посетителей. Обычному хостингу хватает 100 человек в день, чтобы начать «тормозить»
  2. Нагрузкой на базу данных. К примеру, в интернет-магазине с огромным товарным ассортиментом при построении умного фильтра нужно сделать большое количество обращений к базе данных для создания выборки.
    Как правило нагрузки на базу данных лечатся с помощью одной из ключевых стратегий масштабирования — кеширования информации. Благодаря кешированию удается значительно уменьшить число повторяющихся запросов к базе данных и исключить повторяющиеся ресурсоемкие вычисления.
  3. Ошибками в программном коде. К примеру, у вас 1000 хитов в сутки; ошибка, которая затрагивает 0,1% запросов, будет появляться 1 раз в день (1 запись в error.log) — что не страшно. Но когда у вас будет 100 000 хитов в сутки, то вы будете получать уже в 100 раз больше ошибок, что недопустимо для сайта, т.к. создаст дополнительную нагрузку.

Серверная инфраструктура

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

К примеру, большинство обычных хостингов (nic.ru, рег.ру, и др.) при запросе «На какую нагрузку вы рассчитаны», отвечают — 100 человек в день.

Если использовать виртуальную машину 1С-Битрикс, то можно добиться посещаемости в тысячи пользователей без особых проблем.

Решение «Веб-кластер» позволяет легко масштабировать систему, распределяя нагрузку на необходимое количество серверов.

Какое решение можно предложить?

Готовое решение «из коробки» для магазина, которое сразу оптимизировано под высокие нагрузки.

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

Сам по себе 1C-Битрикс давно зарекомендовал себя как надёжная корпоративная система. Почти все самые посещаемые сайты в рунете разработаны на этой системе управления.

Для того, чтобы предоставить гарантии клиентам в плане производительности и отказоустойчивости, компания 1С-Битрикс в 2015 году провела нагрузочное тестирование.

Нагрузочное тестирование CMS 1C-Битрикс

Готовый интернет-магазин на продукте «1С-Битрикс: Управление сайтом» (редакция «Бизнес»), содержащий до 99280 SKU и размещенный на одном типовом сервере, способен обслужить за сутки:

  • до 779 991 уникальных сессий;
  • до 14 781 832 просмотров страниц;
  • до 29 635 заказов.

Готовый интернет-магазин на продукте «1С-Битрикс: Энтерпрайз», содержащий 99280 SKU и размещенный на кластере из двух типовых серверов, способен обслужить за сутки:

  • до 1 214 858 уникальных сессий;
  • до 23 082 301 просмотров страниц;
  • до 46 436 заказов.

При тестировании использовалась технология Яндекс.Танк, версия 1.7.10. Yandex.Tank выбрана как надежная, зарекомендовавшая себя система, которая позволяет, на наш взгляд, предоставить наиболее подробные данные по проведенному тестированию. Результаты тестирования Yandex.Tank проверены во множестве проведенных нагрузочных тестирований компанией Яндекс и признаются независимыми экспертами. Подробнее: http://www.1c-bitrix.ru/products/cms/performance/

Устойчивость 1С-Битрикс к высоким нагрузкам можно доказать тем, что большинство популярных сайтов рунета сделано на данной системе управления (Евросеть, МТС, Государственная Дума, sapato.ru, Эльдорадо, Связной и др.)

Выводы:

  • Для высоконагруженного интернет-магазина лучше взять CMS 1С-Битрикс. По мимо большого количества готового функционала, вы получите высокопроизводительную систему (это подтверждено исследованиями и нагрузочным тестированием). Это лучше (как минимум надежнее и дешевле), чем писать аналогичную систему с нуля.
  • Не надо задумываться об отдельных составляющих программного кода, все компоненты и модули из коробки будут отлично работать при высоких нагрузках.
  • Для серверного веб-окружения достаточно «1С-Битрикс: Виртуальная машина». Ставим из коробки и пользуемся. Если нужны ещё мощности, можно быстро масштабироваться в кластер. Это очень сильно сократит затраты на подготовку веб-окружения и исключит человеческий фактор.
  • Не забываем про качество кода. Не стоит экономить на уровне разработчиков, потом заплатите намного больше за рефакторинг.
  • Дополнительные решения «Композитный сайт», использование платформы «1С-Битрикс: Энтерпрайз» позволит кардинально уменьшить время отклика и эффективно масштабироваться по числу серверов.

Диагностика устойчивости к высоким нагрузкам

Как проверить, справляется ли мой сайт с большими нагрузками?

В 1С-Битрикс встроены специальные инструменты для оценки производительности конфигурации, платформы «1С-Битрикс» и качества разработки интернет-проекта. А кроме того система автоматически производит диагностику работы и выдает рекомендации по улучшению производительности.

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

Пример работы монитора производительности

Комментарии (2)

  1. Владимир 07.02.2017 Ответить
    Никак не справляется. CMSки не предназначены для высоких нагрузок. Кеширование информации выгодно только если на сайте по большей части статическая инфа, которая меняется раз в месяц. Для проектов с высокой динамикой Битрикс не подойдет, либо готовьтесь раскошелится на серваки.
    Системы написаные на Php и поддерживаемые опытными программистами могут выдерживать до 10000 запросов в секунду, а в статье не приведено ни одного кейса как же все таки Битрикс справляется с высокими нагрузкми. Ответ никак. У данной компании этих кейсов просто нет, потому что Битрикс это система для девочек менеджеров и сайтов с посещаемостью < 1000 в день.
  2. Сергей 18.02.2017 Ответить
    ну про <1000 вы гоните.
    знаю три миллионника на БУС. и при лимоне хостов это всего 11 в секунду. Не знаю ни одного проекта на php с 10К в секунду и плохо представляю такие на CMS

Оставить комментарий