Технологические вопросы крупных внедрений
08.02.2024
Необходимо выполнить запуск нагрузочного теста для базы 1С:Зарплата и управление персоналом с помощью 1С:Центр администрирования.
Для запуска нагрузочного теста будет использоваться следующая инфраструктура:
Все команды будем выполнять с помощью поставляемых скриптов и сценариев, которые входят в поставку Корпоративного инструментального пакета (КИП). Необходимый дистрибутив находится внизу страницы с необходимой версией продукта.
Скачиваем архив и загружаем в центр администрирования: меню «Обновление сценариев и скриптов» – «Скрипты и сценарии» – «Загрузить новую поставку в базу».
Для работы со скриптами на удаленных машинах нам понадобится 1С:Исполнитель. Скачать 1С:Исполнитель можно с сайта https://releases.1c.ru/project/Executor
Скрипты вместе с исполнителем необходимо установить на всех машинах, где установлены Агенты КИП. Для начала необходимо создать настройки обновления исполняющей части отдельно для скриптов, и отдельно для исполнителя: меню «Обновление сценариев и скриптов» – «Настройки обновления исполняющей части».
В качестве интернет-ресурса необходимо указать опубликованный в центре администрирования http-сервис AgentETP/download-file.
В рабочем месте «Задания на обновление исполняющей части» можно выполнить массовую установку.
Для этого необходимо выбрать всех агентов КИП и нажать «Инициировать проверку и обновление скриптов администрирования». Подбором выбираем настройки обновления для исполнителя и скриптов.
Когда обновление закончится, у каждой строки должна появиться зеленая иконка. Если появилась красная иконка, то информацию об ошибке можно увидеть в поле «Дополнительная информация», либо в логах агента КИП на соответствующей машине.
В поставку включен сценарий автоматизации «Запуск нагрузочного тестирования в клиент-серверной ИБ», в котором описан весь алгоритм нагрузочного тестирования. Чтобы им воспользоваться, необходимо создать новый «Сценарий автоматизации» и выбрать его в шапке формы в поле «Сценарий».
Рассмотрим подробнее шаги сценария.
Для начала на всех машинах-нагрузчиках необходимо завершить имеющиеся сеансы 1С. Для этого используется команда автоматизации «Завершить процесс». В качестве единицы оборудования выбран шаблон единиц автоматизации Client.
Шаблоны единиц автоматизации – это не конкретные машины, на которых будут выполняться команды, это фактические роли машин в данном сценарии.
Завершение процессов выполняется для исполняемых файлов 1cv8c.exe, 1cv8.exe, 1cv8s.exe и mmc.exe. Выполнение шагов сценария будет происходить параллельно.
Для каждого шага параметр «Имя процесса» необходимо заполнить соответствующим именем процесса.
Затем параллельно выполняются команды автоматизации «Остановка кластера» для сервера 1С и для сервера лицензирования.
Команда «Остановка кластера» помимо службы сервера 1С умеет останавливать службу web-сервера. Поэтому сервер 1С и сервер лицензирования разделены на разные шаги, для них выделены отдельные единицы оборудования и в параметр «Роль сервиса» для каждого шага заполнено значением «all» и «app» соответственно.
После остановки служб происходит очистка кэша, логов технологического журнала и сеансовых данных.
Очистка кэша из каталогов roaming и local выполняется только на машинах с ОС Windows, поэтому для них используется единица оборудования Windows. Для этого необходимо в параметрах шагов указать каталог для очистки в поле «Откуда», и в поле «Паттерн» ввести шаблон регулярного выражения для отбора необходимых каталогов.
Также на машинах с ОС Windows совпадает расположение каталога логов технологического журнала, поэтому для этого шага выбираем единицу оборудования Windows и указываем в параметре «Откуда» каталог для очистки.
Сервер 1С на машине с ОС Linux, поэтому для него делаем отдельные шаги и используем единицу оборудования 1C server. Для очистки сеансовых данных необходимо указать паттерн «snccntx.*» и максимальную глубину 1.
Теперь необходимо запустить кластеры серверов. Выполнение шагов сценария происходит параллельно отдельно для сервера 1С и для сервера лицензирования.
Параметр «Роль сервиса» устанавливаем аналогично шагам остановки кластеров.
На машинах-нагрузчиках необходимо запустить агентов тест-центра. Предварительно необходимо расположить утилиту PsExec.exe в каталог «<корень дистрибутива>/external_utils/psexec». Утилита скачивается по адресу https://docs.microsoft.com/en-us/sysinternals/downloads/psexec. Если скачивается утилита для 64-разрядных ОС, то при сохранении в каталог необходимо имя файла PsExec64.exe привести к виду PsExec.exe.
PsExec требуется для возможности запуска клиента 1С:Предприятия 8 в графической сессии в ОС Windows.
Запуск агентов тест-центра будет выполняться командой «Запуск нагрузчиков Тест-Центра в клиент-серверной ИБ». Команда должна выполняться на машинах нагрузчиков, поэтому единицей оборудования выбрана Client.
В параметрах шага сценария необходимо указать адрес сервера 1С и имя базы на сервере, логин и пароль для пользователя, путь к платформе и код доступа, который можно установить в консоли кластера. В поле «Пользователь графической сессии» указываем имя пользователя операционной системы, под которым выполняется запуск клиентских приложений.
Финальным шагом сценария является запуск самого нагрузочного теста. Он выполняется командой «Запуск нагрузочного теста в клиент-серверной ИБ».
В параметрах шага сценария необходимо указать адрес веб-сервера и имя публикации, логин и пароль пользователя, имя сценария и количество пользователей в сценарии.
Перед запуском сценария, на вкладке «Параметры выполнения сценария» необходимо указать реальные значения оборудования, на котором будет происходить запуск сценария. В качестве значения можно указать конкретную машину или группу единиц автоматизации. Группа единиц в свою очередь может заполняться вручную или по отбору.
Теперь сценарий готов к запуску. Запуск можно либо запланировать на определенную дату, либо осуществить сразу по кнопке «Стартовать».