Рассмотрим упрощенное нагрузочное тестирование, которое встроено в типовую конфигурацию 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 без настроенных регламентов.
Некоторые сеансы так и не завершили тестирования, так как в них выскакивали разного рода ошибки и предупреждения, как например, следующие:
Анализ результатов нагрузочного тестирования СЭД
Также полезными для анализа будут отчеты по статистике активности пользователей и по числу событий.