Оптимизация скорости работы сайта на 1С Битрикс

Сайт на 1с битрикс может иметь проблемы с производительностью. Разработан ряд механизмов для ее оптимизации.

1. Шардинг вертикального типа
Производит разделение одной базы данных проекта на две и более путем формирования отдельных модулей, не затрагивая логику функционирования работы веб-приложения.

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

  • «Поиск»
  • «Веб-аналитика»

2. Репликация баз данных MySQL и балансировка нагрузки между серверами

Модель типа «master — slave» реализуется внутренними средствами СУБД MySQL.

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

Базовые особенности:

*   возможность гибкого баланса нагрузки SQL

*   дешевое и быстрое масштабирование

*   легкость администрирования

*   не требует доработки логики веб-приложений

*   он-лайн сохранение резервных копий

3. Распределенное кеширование информации
«1С-Битрикс: Веб-кластер» дает возможность применять серверный пул memcached для эффективной работы с кешем информации.

Это гарантирует:

  • максимальную эффективность работы за счет централизованного
  • использования кешированных данных веб-приложением
  • надежность функционирования за счет устойчивости подсистемы кеша к выходу из строя ряда компонентов
  • неограниченную масштабируемость системы путем добавления новых memcached-серверов
    4. Поддержка непрерывных сессий между веб-серверами, так как хранение сессий происходит в базе данных. В системе есть возможность хранения информации пользовательских сессий в базе данных, что гарантирует «прозрачность» сессии для любых веб-серверов кластера:
    Авторизовавшись на одном из серверов, пользователь будет считаться авторизованным и для иных серверов.
    Напротив, окончание сессии на различном сервере должно означать ее окончание на всех серверах единомоментно.
    5. Кластеризация веб-сервера
    При переносе проекта на ряд веб-серверов нужно решить две задачи:
  • баланс нагрузки между серверами
  • синхронизация информации между серверами

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