Дата последнего изменения: 17.04.2024
Производительность веб-решения – одна из ключевых метрик, контроль за которой ведется с помощью описанных выше средств автоматического мониторинга.
Обычно отслеживаются:
Вышеперечисленные алгоритмы активируются при срабатывании функциональных тестов операционной системы. Например, перегрузка жесткого диска отрицательно повлияет на скорость выполнения базой данных запросов клиентов. Поэтому следует сначала заниматься балансировкой нагрузки на операционную систему, а затем, когда все стабилизируется, дальше совершенствовать производительность веб-решения.
Задачи по улучшению производительности необходимо решать вместе с подразделением разработки. Многие проблемы в равной степени зависят как от кода, так и настроек программного обеспечения и операционной системы.
При аварии сработает служба мониторинга. Сотрудники подразделения эксплуатации восстановят веб-систему в разумное время: часы, дни.
Если требуется уменьшить данную метрику, например, чтобы простой не превышал 1 часа, и снизить вероятность внезапных кратковременных отказов, необходимо развернуть кластерную конфигурацию – она доступна «из коробки».
Тогда выход из строя одного из серверов (кроме mysql-master) не повлечет отказа всего веб-проекта. Одновременное падение более 1 сервера в кластере – крайне маловероятная ситуация. Но даже если она произойдет, ничего «страшного» – будет простой, в течение которого сотрудники эксплуатации восстановят работоспособность веб-решения.
Для автоматической реакции на отказ mysql-master-сервера пишут скрипт, который переключает веб-системы на один из актуальных mysql-slave-серверов.
Для размещения веб-проекта желательно использовать дата-центр категории не ниже Tier3. Чтобы еще больше повысить отказоустойчивость, можно разнести серверы по двум и более дата-центрам. Это технически доступно «из коробки» – называется
Географический веб-кластер
Настройка master-master репликации аналогична настройке master-slave репликации за исключением некоторых моментов...
Подробнее ...
.
При использовании редакции Веб-кластер
масштабировать проект
"1С-Битрикс: Веб-кластер" дает возможность гибко в реальном времени масштабировать именно те ресурсы (база данных или веб-сервер), которые востребованы в настоящий момент, просто добавляя новые машины по мере необходимости...
Подробнее ...
под конкретную нагрузку не составляет труда – можно добавить сервер любой роли и увеличить производительность узла.
Для полноценного управления масштабированием рекомендуется:
Прежде чем использование оборудования достигнет лимита в 70% (допустим, нагрузка на CPU на веб-сервере составляет 71% в пики и увеличивается из недели в неделю), следует добавить еще один веб-сервер. Не стоит дожидаться внезапной перегрузки текущей машины.
Похожий подход используется при подготовке к масштабным маркетинговым акциям – проверяется нагрузка на подсистемы на графиках munin, cacti в аналогичные периоды и делается вывод, сколько и какого оборудования следует добавить в веб-кластер.
Рекомендуем использовать скрипты, которые выполняют масштабирование автоматически. Такие возможности предоставляют популярные облачные провайдеры. Например, сервис «Auto Scaling» в Amazon Web Services.
При ошибках в работе веб-проекта, в том числе тех, о которых сообщают посетители, необходима плотная работа с подразделением тестирования.
Работа с ошибками (багами):
Например, клиент сообщает о странной ошибке на сайте на английском языке: «Order not found. Assert kl == km failed». После ее исправления нужно убедиться, что в регламенте подразделения разработки появился пункт о стандартном сообщении об ошибках и что разработчики с ним ознакомились. При частых ошибках, которые связаны с интерфейсами и версткой, рекомендуется разрабатывать автотесты, использующие Selenium.