В данной статье пойдет речь о том, как провести нагрузочное тестирование в 1С:Документооборот без использования 1С:КИП.
Рассмотрим упрощенное нагрузочное тестирование, которое встроено в типовую конфигурацию 1С:Документооборот КОРП или ДГУ. При этом можно не приобретать дополнительно 1С:КИП (корпоративный инструментальный пакет).
Подготовка эталонной базы СЭД для нагрузочного тестирования
Для проведения нагрузочного тестирования нужно создать эталонную базу СЭД 1С Документооборот. В качестве эталонной базы может выступать прототип или копия рабочей базы.
Необходимо установить следующие флажки в настройках программы под Администратором. В настройках по делопроизводству:
- Виды входящих документов,
- Виды исходящих документов,
- Виды внутренних документов,
- Учет по организациям,
- Вопросы деятельности,
- Управление мероприятиями,
- Грифы доступа,
- Категории для документов и файлов,
- настройку «Штрихкодирование документов» отключаем.
В настройках по процессам и задачам:
- Использовать процессы.
В настройках по правам доступа:
- Использовать ограничение прав доступа.
Также нужно включить настройку «Выполнять замеры производительности» в общих настройках программы.
И можно настроить автоматический экспорт замеров производительности.
Нужно обязательно заполнить следующие справочники:
- Виды внутренних документов – для каждого вида документа должны быть установлены настройки «Автоматически вести состав участников рабочей группы» и «Вести учет по корреспондентам» (довольно странное требование, так как в копии рабочей базы или прототипе далеко не всем видам документам нужны такие настройки).
- Виды входящих документов – для каждого вида документа должна быть установлена настройка «Автоматически вести состав участников рабочей группы».
- Виды исходящих документов – для каждого вида документа должна быть установлена настройка «Автоматически вести состав участников рабочей группы».
- Организации.
- Грифы доступа.
- Вопросы деятельности.
- Папки внутренних документов.
- Папки мероприятий.
- Корреспонденты.
Если видов документов много, то указанные настройки быстрее установить с помощью обработки «Групповое изменение реквизитов» в разделе «Настройка и администрирование».
Указываем справочник «Виды внутренних документов».
Выбираем реквизиты и значения, которые хотим изменить и нажимаем кнопку «Изменить реквизиты».
Аналогично поступаем со справочниками «Виды входящих документов» и «Виды исходящих документов».
Сценарии тестирования, входящие в типовую поставку 1С:Документооборот
Откроем конфигуратор 1С:Документооборот. И в конфигурации установим отбор по подсистемеНагрузочноеТестирование.
В общем модуле НагрузочноеТестированиеСценарииСтандартные указаны типовые сценарии.
В общем модуле НагрузочноеТестированиеСценарии содержится код пользовательских сценариев. В этом модуле основные сценарии вызывают стандартные сценарии из модуляНагрузочноеТестированиеСценарииСтандартные.
В комментариях перед каждой функцией можно посмотреть из каких шагов состоит каждый сценарий. Также полезным будет оценить среднее время на выполнение сценария.
Функция СозданиеВнутреннегоДокумента()
// Сценарий создания внутреннего документа.
// Шаги сценария:
// 1. Открытие списка внутренних документов, если он еще не открыт (пауза 5с).
// 2. Переключение режима просмотра на случайное (пауза 5с).
// 3. Если режим просмотра «По папкам», тогда переход к папке (пауза 5с).
// 4. Выполнение команды «Создать документ» в списке (пауза 5с).
// 5. Выбор шаблона создаваемого документа в форме выбора шаблона (пауза от 20с до 30с).
// 6. Выполнение команды «Создать по шаблону» в форме выбора шаблона (пауза 5с).
// 7. Заполнение реквизитов документа в форме документа (пауза от 60с до 180с).
// 8. Выполнение команды «Записать» в форме документа (пауза 5с).
// 9. Закрытие формы документа (пауза 5с).
Функция СозданиеВходящегоДокумента()
// Сценарий создания входящего документа.
// Шаги сценария:
// 1. Открытие списка входящих документов, если он еще не открыт (пауза 5с).
// 2. Выполнение команды «Создать документ» в списке (пауза 5с).
// 3. Выбор шаблона создаваемого документа в форме выбора шаблона (пауза от 20с до 30с).
// 4. Выполнение команды «Создать по шаблону» в форме выбора шаблона (пауза 5с).
// 5. Заполнение реквизитов документа в форме документа (пауза от 60с до 180с).
// 6. Выполнение команды «Записать» в форме документа (пауза 5с).
// 7. Закрытие формы документа (пауза 5с).
Функция СозданиеИсходящегоДокумента()
// Сценарий создания исходящего документа.
// Шаги сценария:
// 1. Открытие списка исходящих документов, если он еще не открыт (пауза 5с).
// 2. Выполнение команды «Создать документ» в списке (пауза 5с).
// 3. Выбор шаблона создаваемого документа в форме выбора шаблона (пауза от 20с до 30с).
// 4. Выполнение команды «Создать по шаблону» в форме выбора шаблона (пауза 5с).
// 5. Заполнение реквизитов документа в форме документа (пауза от 60с до 180с).
// 6. Выполнение команды «Записать» в форме документа (пауза 5с).
// 7. Закрытие формы документа (пауза 5с).
Функция СозданиеПроцесса()
// Сценарий создания процесса по внутреннему документу.
// Случайным образом выполняется один из сценариев:
// — СозданиеПроцессаИсполнение
// — СозданиеПроцессаОзнакомление
// — СозданиеПроцессаПоручение
// — СозданиеПроцессаПриглашение
// — СозданиеПроцессаРассмотрение
// — СозданиеПроцессаРегистрация
// — СозданиеПроцессаСогласование
// — СозданиеПроцессаУтверждение
Подготовка ролей для нагрузочного тестирования СЭД
Проведение нагрузочного тестирования СЭД
- delo.bat: 30 * 50 MB = 1 500 MB,
- user.bat: 60 * 50 MB = 3 000 MB,
- man.bat: 10 * 50 MB= 500 MB,
- ИТОГО: 5 000 MB.
Однако ждать пришлось значительно больше :(, т.к. железо, на котором проводилось тестирование не очень оптимальное и использовалось СУБД MS SQL Server Express без настроенных регламентов.
Некоторые сеансы так и не завершили тестирования, так как в них выскакивали разного рода ошибки и предупреждения, как например, следующие:
Анализ результатов нагрузочного тестирования СЭД
Указываем период и список ключевых операций и нажимаем кнопку «Обновить показатели производительности». В результате по каждой ключевой операции будет выведено значение показателя APPDEX.
Полученные оценки можно интерпретировать следующим образом:
Каждую оценку можно расшифровать двойным кликом и тогда мы увидим сколько по времени выполнялась каждая конкретная операция.
Также полезными для анализа будут отчеты по статистике активности пользователей и по числу событий.