Грамотное планирование — основа достоверного нагрузочного тестирования. О том, на что следует обратить внимание в первую очередь, рассказывает разработчик отдела разработки «1С» в IBS Данил Кравченко.
Подготовка к тестированию начинается с постановки бизнес-цели:
Если говорить про первый вариант, то SLA главным образом определяет время выполнения критически важных сценариев. К ним относятся операции, сбои в которых приводят к простоям в бизнес-процессах (например, на этапе ввода оперативных документов) либо замедляют работу системы в целом. Сроки исполнения таких задач нужно определить заранее, причем они должны быть обоснованными: осуществить закрытие месяца за пять минут нереально, как бы этого ни хотелось.
После определения целей готовится тестовое окружение. Рекомендуется использовать отдельный стенд, иначе придется искать свободные окна, когда тесты не будут мешать пользователям, что не всегда удобно. Например, компания может выделить под тестирование промежуток с полуночи до шести часов утра, но есть операции, которые выполняются дольше этого времени.
Важно, чтобы стенд для нагрузочного тестирования был максимально приближен к продуктивному: аналогичные CPU, объем оперативной памяти и диски. В операционной системе и СУБД должны совпадать все параметры — от версии до точечных настроек.
В качестве тестовых данных желательно использовать копии рабочих баз. Ни один генератор тестовых данных не даст ошибок, которые появляются из-за человеческого фактора и могут влиять на производительность.
При этом стоит учитывать два момента. Во-первых, бэкапы не должны быть искажены. Обезличивать информацию можно, но аккуратно: допустимо переименовать контрагента, но нельзя менять данные, влияющие на учет. Например, количество номенклатуры. Во-вторых, копии должны быть свежими. На данных от 2020 года не получится оценить работу системы в 2026 году. Если есть возможность, лучше всего снять полный бэкап базы данных за пару дней до тестов.
Два основных инструмента для комплексного анализа производительности «1С» — система мониторинга и технологический журнал.
Первый инструмент позволяет отслеживать работу системы в реальном времени: какова нагрузка прямо сейчас, является ли она критичной, какая у нее динамика. Если видно, что ситуация приближается к аварийной остановке стенда, можно оперативно прекратить нагрузку, чтобы не тратить время на перезапуск оборудования.
Благодаря системе мониторинга видны «симптомы болезни», но их могут вызывать десятки причин. Если в медицине поставить более точный диагноз помогают анализы, то в тестировании — обращение к технологическому журналу. Он помогает локализовать причину, понять, какой код или запрос привел к высокой нагрузке на систему.
Необходимо подготовить дополнительное место на дисках для бэкапов баз нагрузочного тестирования. Их объем в некоторых случаях превышает размер рабочих баз. Копии могут пригодиться для проведения дополнительных итераций тестирования, а также в случае недостатка данных для отчета. Пока он не будет составлен и согласован, бэкапы должны находиться в быстром доступе.