Академия Документооборота

  • Видеокурсы
  • Расширение
  • Скрипты
  • Лицензии
  • Академия
  • Внедрение
  • ЭДО
  • Клуб
  • Вебинары
  • Статьи
  • Блог
  • ЛК

Академия Документооборота

  • Главная
  • Видеокурсы
  • Расширение
  • Скрипты
  • Лицензии
  • Академия
  • Внедрение
  • ЭДО
  • Клуб
  • Вебинары
  • Статьи
  • Блог
  • ЛК

Как провести нагрузочное тестирование в 1С:Документооборот без использования 1С:КИП?

Перед запуском 1С:Документооборот для средних и крупных внедрений крайне желательно провести нагрузочное тестирование, чтобы проверить корректность и скорость работы системы электронного документооборота в условиях максимальной нагрузки.

Рассмотрим упрощенное нагрузочное тестирование, которое встроено в типовую конфигурацию 1С:Документооборот КОРП или ДГУ. При этом можно не приобретать дополнительно 1С:КИП (корпоративный инструментальный пакет).

Подготовка эталонной базы СЭД для нагрузочного тестирования

Перед проведением нагрузочного тестирования крайне желательно провести аудит базы 1С:Документооборот.

Для проведения нагрузочного тестирования нужно создать эталонную базу СЭД 1С Документооборот 8. В качестве эталонной базы может выступать прототип или копия рабочей базы.
Необходимо установить следующие флажки в настройках программы под Администратором. В настройках по делопроизводству:


  • Виды входящих документов,
  • Виды исходящих документов,
  • Виды внутренних документов,
  • Учет по организациям,
  • Вопросы деятельности,
  • Управление мероприятиями,
  • Грифы доступа,
  • Категории для документов и файлов,
  • настройку "Штрихкодирование документов" отключаем.

В настройках по процессам и задачам:


  • Использовать процессы.

В настройках по правам доступа:


  • Использовать ограничение прав доступа.
Также нужно включить настройку "Выполнять замеры производительности" в общих настройках программы.

И можно настроить автоматический экспорт замеров производительности.

Нужно обязательно заполнить следующие справочники:


  • Виды внутренних документов – для каждого вида документа должны быть установлены настройки "Автоматически вести состав участников рабочей группы" и "Вести учет по корреспондентам" (довольно странное требование, так как в копии рабочей базы или прототипе далеко не всем видам документам нужны такие настройки).
  • Виды входящих документов – для каждого вида документа должна быть установлена настройка "Автоматически вести состав участников рабочей группы".
  • Виды исходящих документов – для каждого вида документа должна быть установлена настройка "Автоматически вести состав участников рабочей группы".
  • Организации.
  • Грифы доступа.
  • Вопросы деятельности.
  • Папки внутренних документов.
  • Папки мероприятий.
  • Корреспонденты.


Если видов документов много, то указанные настройки быстрее установить с помощью обработки "Групповое изменение реквизитов" в разделе "Настройка и администрирование".

Указываем справочник "Виды внутренних документов".

Выбираем реквизиты и значения, которые хотим изменить и нажимаем кнопку "Изменить реквизиты".

Аналогично поступаем со справочниками "Виды входящих документов" и "Виды исходящих документов".

Сценарии тестирования, входящие в типовую поставку 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с).

Функция СозданиеПроцесса()
// Сценарий создания процесса по внутреннему документу.
// Случайным образом выполняется один из сценариев:
//  - СозданиеПроцессаИсполнение
//  - СозданиеПроцессаОзнакомление
//  - СозданиеПроцессаПоручение
//  - СозданиеПроцессаПриглашение
//  - СозданиеПроцессаРассмотрение
//  - СозданиеПроцессаРегистрация
//  - СозданиеПроцессаСогласование

//  - СозданиеПроцессаУтверждение

Функция ВыполнениеЗадачи()
// Сценарий выполнения задачи.
// Случайным образом выполняется один из сценариев:
//  - ВыполнениеЗадачиИсполнение
//  - ВыполнениеЗадачиОзнакомление
//  - ВыполнениеЗадачиПоручение
//  - ВыполнениеЗадачиПриглашение
//  - ВыполнениеЗадачиРассмотрение
//  - ВыполнениеЗадачиРегистрация
//  - ВыполнениеЗадачиСогласование
//  - ВыполнениеЗадачиУтверждение

Чтобы добавлять свои сценарии или изменять стандартные сценарии нужно в модуле НагрузочноеТестированиеСценарии вызывать из модуля НагрузочноеТестированиеСценарииСтандартные функции и изменять параметры необходимых действий.

Подготовка ролей для нагрузочного тестирования СЭД

Перед началом проведения нагрузочного тестирования в 1С:Документообороте надо определиться с количеством виртуальных ролей, которые будут принимать участие в тестировании, так как разные пользователи создают разную нагрузку на систему.


Для каждой роли нужно будет создать отдельный текстовый файл с описанием действий, которые последовательно будет выполнять виртуальный пользователь.


Делаем следующие текстовые файлы:

Будем делать нагрузочный тест в течение 30 минут. Исходя из этого подберем сценарии нагрузочного тестирования для каждой роли.

user.txt - для роли Пользователь

man.txt - для роли Руководитель

delo.txt - для роли Делопроизводитель

Проведение нагрузочного тестирования СЭД

Проведем нагрузочное тестирование на 100 одновременных пользователей демо-базы 1С:Документооборот в клиент-серверном варианте. В данном тесте будут 60 обычных пользователей, 10 руководителей и 30 делопроизводителей.


Для запуска виртуального пользователя нужно сформировать bat-ник на каждую роль со строкой:

"C:\Program Files (x86)\1cv8\common\1cestart.exe" /IBConnectionString "<АдресИБ>" /N "<ИмяВходаПользователя>" /P "<ПарольПользователя>" /C "RunHLT;<ИмяФайлаССценариемРоли>.txt" /DisableStartupMessages /ClearCache

Рассмотрим некоторые параметры запуска более подробно:


/C "RunHLT;<ИмяФайлаССценариемРоли>.txt"
Параметр RunHLT означает, что будет проводиться нагрузочное тестирование при запуске 1С:Предприятие. После выполнения всех сценариев тестирования работа 1С:Документооборот будет завершена.

/DisableStartupMessages - подавляет некоторые стартовые сообщения.
/ClearCache - очистка кэша клиент-серверных вызовов.


Например, для роли Делопроизводитель строка запуска будет выглядеть следующим образом:

"C:\Program Files (x86)\1cv8\common\1cestart.exe" /IBConnectionString "Srvr=""server1c"";Ref=""doc"";" /N "frolova" /P "" /C "RunHLT;delo.txt" /DisableStartupMessages /ClearCache

Однако, если у нас кол-во пользователей с ролью Делопроизводитель много, то вручную запускать этот файл несколько раз не удобно. Поэтому лучше запускать в цикле с паузой.


Для роли Делопроизводитель файл delo.bat для запуска 30 сеансов будет тогда иметь следующий вид:

for /l %%i in (1,1,30) do (
"C:\Program Files (x86)\1cv8\common\1cestart.exe" /IBConnectionString "Srvr=""server1c"";Ref=""doc"";" /N "frolova" /P "" /C "RunHLT;delo.txt" /DisableStartupMessages /ClearCache
ping -n 5 localhost
)

Для роли Пользователь файл user.bat для 60 сеансов:

for /l %%i in (1,1,60) do (
"C:\Program Files (x86)\1cv8\common\1cestart.exe" /IBConnectionString "Srvr=""server1c"";Ref=""doc"";" /N "severyaninov" /P "" /C "RunHLT;user.txt" /DisableStartupMessages /ClearCache
ping -n 5 localhost
)

Для роли Руководитель файл man.bat для 10 сеансов:

for /l %%i in (1,1,10) do (
"C:\Program Files (x86)\1cv8\common\1cestart.exe" /IBConnectionString "Srvr=""server1c"";Ref=""doc"";" /N "fedorov" /P "" /C "RunHLT;man.txt" /DisableStartupMessages /ClearCache
ping -n 5 localhost

)

Теперь осталось рассчитать объем оперативной памяти из расчета 50 Мегабайт на сеанс на тех машинах, где будем запускать bat-ники.


Для запуска bat-файлов потребуется следующий минимальный объем ОЗУ:


  • 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.


Одновременно запускаем все bat-файлы на тех машинах, где достаточно ресурсов.

Смотрим, чтобы кол-во активных пользователей превысило 100.

Ждем-с 30 минут...

Однако ждать пришлось значительно больше :(, т.к. железо, на котором проводилось тестирование не очень оптимальное и использовалось СУБД MS SQL Server Express без настроенных регламентов.

Некоторые сеансы так и не завершили тестирования, так как в них выскакивали разного рода ошибки и предупреждения, как например, следующие:

Анализ результатов нагрузочного тестирования СЭД

Открываем "Оценку производительности" в разделе "Настройка и администрирование".

Указываем период и список ключевых операций и нажимаем кнопку "Обновить показатели производительности". В результате по каждой ключевой операции будет выведено значение показателя APPDEX.

Полученные оценки можно интерпретировать следующим образом:

Каждую оценку можно расшифровать двойным кликом и тогда мы увидим сколько по времени выполнялась каждая конкретная операция.

Также полезными для анализа будут отчеты по статистике активности пользователей и по числу событий.

Перед проведением нагрузочного тестирования крайне желательно провести аудит базы 1С:Документооборот.


Для того чтобы оставить комментарий —
авторизуйтесь
{"signature":"43a13ff279595660cfac8915c119e41b","accountUserId":-1,"values":{"object_type_id":3,"object_id":2235865,"max_level":2,"level":1,"page_size":40,"disable_comments":false,"disable_new_comment":false,"edit_mode":false,"group":null,"params":{"params":{"sourceUrl":"\/2015\/12\/nagruzochnoe-testirovanie-1s-dokumentooborot.html"}},"comment_class":"","comment_class_callback":null,"data":[],"level_directions":{"1":"desc"},"level_show_send_button_always":{"1":true},"editable_comments":false,"show_online_user_count":true,"collapsible":false,"object_attributes":[],"level_form_submit_on_enter":{"1":true},"own_user_id":null,"invert_own_user":false,"enable_subscribe":false,"disable_links":null,"window_style":null,"template_owners":[]}}
{"signature":"55d200b35cea3c2b85f58d27e154a460","accountUserId":-1,"values":{"object_type_id":10,"object_id":458587252,"max_level":2,"level":1,"page_size":40,"disable_comments":false,"disable_new_comment":false,"edit_mode":false,"group":null,"params":{"params":{"sourceUrl":"\/2015\/12\/nagruzochnoe-testirovanie-1s-dokumentooborot.html"}},"comment_class":"","comment_class_callback":null,"data":[],"level_directions":{"1":"desc","2":"asc"},"level_show_send_button_always":{"1":true},"editable_comments":false,"show_online_user_count":true,"collapsible":false,"object_attributes":[],"level_form_submit_on_enter":{"1":false,"2":true},"own_user_id":null,"invert_own_user":false,"enable_subscribe":false,"disable_links":false,"window_style":null,"template_owners":[]}}
Анонимный удалить
Добрый день! Большое спасибо за статью, подскажите, пожалуйста, на файловой базе такое возможно проделать? как скрипт понимает путь к файлу с описанными действиями?
или отменить редактирование
Нравится • Ответить
{"signature":"dcb6c1463bdfc73860f36012566845ae","accountUserId":-1,"values":{"object_type_id":10,"object_id":458587252,"max_level":2,"level":2,"page_size":40,"disable_comments":false,"disable_new_comment":false,"edit_mode":false,"group":null,"params":{"params":{"sourceUrl":"\/2015\/12\/nagruzochnoe-testirovanie-1s-dokumentooborot.html"}},"comment_class":"","comment_class_callback":null,"data":[],"level_directions":{"1":"desc","2":"asc"},"level_show_send_button_always":{"1":true},"editable_comments":false,"show_online_user_count":true,"collapsible":true,"object_attributes":[],"level_form_submit_on_enter":{"1":false,"2":true},"own_user_id":null,"invert_own_user":false,"enable_subscribe":false,"disable_links":false,"window_style":null,"template_owners":[]}}
{"signature":"185bd73269fbdc67fae6d2054acd0d94","accountUserId":-1,"values":{"object_type_id":10,"object_id":458587400,"max_level":2,"level":2,"page_size":40,"disable_comments":false,"disable_new_comment":false,"edit_mode":false,"group":null,"params":{"params":{"sourceUrl":"\/2015\/12\/nagruzochnoe-testirovanie-1s-dokumentooborot.html"}},"comment_class":"","comment_class_callback":null,"data":[],"level_directions":{"1":"desc","2":"asc"},"level_show_send_button_always":{"1":true},"editable_comments":false,"show_online_user_count":true,"collapsible":false,"object_attributes":[],"level_form_submit_on_enter":{"1":false,"2":true},"own_user_id":null,"invert_own_user":false,"enable_subscribe":false,"disable_links":false,"window_style":null,"template_owners":[]}}
Владимир Лушников удалить
Да. На файловой базе тоже можно такое запустить.
или отменить редактирование
Пн 15 Авг 2022 Нравится
Политика конфиденциальности.


*Организация Meta, а также её продукты Instagram и Facebook, на которые мы ссылаемся на сайте, признаны экстремистскими на территории РФ.

    Продукты



  • Видеокурсы
  • Расширения
  • Лицензия 1С
  • Внедрение
  • Аудит
  • Скрипты
  • Linux

    Компания



  • О компании
  • Реквизиты
  • Вакансии
  • Контакты

    Материалы



  • База знаний
  • Вебинары
  • Клуб

    Новости



  • VK
  • YouTube
  • Instagram*
  • Facebook*
  • Блог
  • Дзен