Методика нагрузочного тестирования Docsvision 5

Назначение методики

Современные программные продукты, независимо от их сложности и масштаба внедрения, должны обеспечивать пользователям комфортную работу с точки зрения производительности. Основным параметром производительности выступает время реакции системы – время, которое проходит от момента, когда пользователь «нажал кнопку» в интерфейсе системы, до момента, когда система начала выдавать результаты обработки этого действия.

Естественно, что никому не интересна производительность «сферического коня в вакууме», поэтому условия нагрузочного тестирования должны быть максимально приближены к условиям реальной эксплуатации по следующим главным направлениям:

  • Параметрам инфраструктуры (компьютерных платформ серверов и рабочих станций пользователя, а также пропускной способности каналов связи);
  • Объему данных, хранящихся в системе (количество и размер документов, заданий, бизнес-процессов);
  • Сценариям нагрузки (частоте вызова различными категориями пользователей различных функций системы);
  • Количеству одновременно работающих пользователей.

Все эти параметры фиксируются в методике нагрузочного тестирования Docsvision, при этом значения параметров совокупно превосходят средние параметры во внедрениях соответствующего масштаба. Это связано с тем, что система должна показывать хорошую производительность как при средних значениях параметров нагрузки, так и в особенных ситуациях, когда сценарий ее использования требует, например, организации более 10 тысяч папок в базе документов. Учет максимальных значений параметров делает показатели нагрузочного тестирования системы гораздо более надежными с точки зрения ее пользователей.

Docsvision является платформой для реализации решений. Это осложняет задачу определения параметров быстродействия, поскольку разработчики платформы могут лишь предполагать, какого рода решения и как именно будут созданы на ней в ходе конкретного проекта внедрения. Производительность конкретного решения, конечно, определяется производительностью платформы, но зависит также от сложности бизнес-логики решения и от того, насколько оптимально используются проектировщиком решения базовые технологии платформы.

Поэтому при проведении нагрузочных тестов разработчики тестируют производительность по базовым объектам платформы (карточки документа и задания, представления навигатора, отработка бизнес-процесса). При выпуске собственных приложений Docsvision также всегда проводится нагрузочное тестирование приложения, задачей которого является достижение приемлемого времени реакции системы, а в идеале – получение тех же параметров, которые показаны на базовых объектах платформы.

Общее описание

Нагрузочное тестирование предназначено для эмуляции нагрузки на систему в типовых сценариях использования и позволяет провести измерение ключевых характеристик производительности системы (показателей быстродействия) на конкретном оборудовании в условиях различной нагрузки.

В данном виде тестирования измеряется время, затраченное на выполнение различных операций (типичных при работе в среде Docsvision) на клиентском компьютере (используется минимальная и рекомендуемая конфигурация). При этом нагрузка на серверную часть соответствует выполнению регулярных действий типовыми пользователями системы (регистраторами, контролерами, исполнителями) – созданию документов, исполнению заданий, и т.д.

Аппаратная конфигурация нагрузочного полигона соответствует рекомендуемой конфигурации в расчете на 500 одновременно работающих в системе пользователей. Размер и наполнение базы данных соответствуют таковым для крупной организации (несколько тысяч сотрудников), накопленным за 3 или более года интенсивной работы в СЭД.

Аппаратная конфигурация нагрузочного полигона

Нагрузочный полигон состоит из десяти компьютеров, физических и виртуальных. Характеристики серверной части (сервер БД + сервер приложений) соответствуют рекомендуемой конфигурации для 500 одновременно работающих пользователей. Клиентские компьютеры, на которых проводятся измерения показателей, соответствуют минимальной и рекомендуемой конфигурациям клиентов (подробнее аппаратные рекомендации описаны в документации платформы – “Руководство по установке и администрированию”). Прочие машины являются вспомогательными и предназначены для генерации нагрузки на сервер.

Назначение

Тип

Характеристики

1

Сервер БД

Физическая

Intel Xeon 2.27 GHz (2 processors),

RAM 24 Gb,

64-bit,

Win 2008 R2 Enterprise SP1,

HDD1 (система) 232 Gb,

HDD2 (СХД Avrora) 6 Tb

2

 Сервер приложений

Физическая

Intel Xeon, 3.00 GHz (2 processors ),

RAM 16 Gb,

64-bit,

Win 2008 R2 Standart SP1

3

Контроллер домена

Виртуальная

Intel Xeon, 2.40 GHz (2 processors),

RAM 2 Gb,

64-bit,

Win 2008 R2 Standart SP1,

HDD Free 15 Gb

4

Генератор нагрузки 0 - контроллер

Виртуальная

Intel Xeon, 2.40 GHz,

RAM 2 Gb,

64-bit,

Win 2008 R2 Standart SP1,

HDD Free 15 Gb

5

Генератор нагрузки 1 –агент 1

Виртуальная

Intel Xeon, 2.40 GHz (2 processors),

RAM 4 Gb,

64-bit,

Win 2008 R2 Standart SP1,

HDD Free 15 Gb

6

Генератор нагрузки 2 –агент 2

Виртуальная

Intel Xeon, 2.40 GHz (4 processors),

RAM 28 Gb,

64-bit,

Win 2008 R2 Standart SP1,

HDD Free 15 Gb

7

Генератор нагрузки 3 –агент 3

Виртуальная

Intel Xeon, 2.40 GHz,

RAM 12 Gb,

64-bit,

Win 2008 R2 Standart SP1,

HDD Free 15 Gb

8

Генератор нагрузки 4 –агент 4

Виртуальная

Intel Xeon, 2.40 GHz (2 processors),

RAM 32 Gb,

64-bit,

Win 2008 R2 Standart SP1,

HDD Free 15 Gb

9

Клиентский типовой компьютер (слабый)

Физическая

Intel Core 2, 2.13 GHz,

RAM 2.00 Gb,

32-6it,

Windows 7 Enterprise SP1,

10

Клиентский типовой компьютер (средний)

Физическая

Intel Core 2 Duo, 2.66 GHz,

RAM 4.00Gb,

64 –bit,

Windows 7 Enterprise.SP1,

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

Приложение

Объём занимаемой памяти

Word, три больших файла

примерно 100 Мб

Excel

примерно 300 Мб

Outlook

120-150 Мб

Браузер IE с 10-ю вкладками

400 Мб

Lync (Communicator, ICQ, QIP и т.п.)

200 Мб

Антивирус Касперского

60 Мб

Характеристики базы данных

Конфигурация системы и наполнение базы данных оказывают существенное влияние на показатели производительности системы, поэтому в методике нагрузочного тестирования им уделено большое внимание.

В качестве базового приложения в процессе тестирования используется встроенное приложение “Управление документами” со стандартными настройками (регистрационные карточки документов, задания). Нестандартные настройки системы на нагрузочном полигоне включают в себя дополнительные команды Навигатора, роли, представления и поисковые запросы:

  • 10 дополнительных команд Навигатора
  • 200 ролей
  • Более 1 000 представлений
  • Более 1 000 поисковых запросов

Объём и содержимое справочников (сотрудников, контрагентов, видов, категорий, и т.д.) соответствуют профилю крупной компании (несколько тысяч сотрудников), но в некоторых случаях скорректированы в большую сторону, чтобы учесть специфику отдельных случаев (распределенные и филиальные структуры и т.д.):

  • 22 400 сотрудников
  • 200 000 контрагентов
  • 60 000 записей в конструкторе справочников
  • 300 видов документов
  • 200 ролей
  • 100 категорий
  • 40 видов ссылок

Наполнение базы (папки, документы, задания, файлы) соответствует приблизительно 3 годам работы крупной организации в СЭД (из расчета, что в день регистрируется около 2000 документов и создается около 4500 заданий)

  • Более 10000 папок (у 5% из них пользовательские иконки)
  • Около 1 500 000 карточек документов (в среднем приложено по 2 файла)
  • Около 3 000 000 файлов (от 0,5 до 1 МБ)
  • Около 3 500 000 заданий
  • Активных экземпляров бизнес-процессов около 1 000
  • Завершенных экземпляров процессов около 20 000

Общий размер БД: 1,2 Tb

Генерация нагрузки

Генерация нагрузки производится с помощью выполнения определённой последовательности программных вызовов, соответствующих действиям пользователей в системе.

Выделено три роли пользователей, для которых эти действия различны по своей природе и интенсивности:

  • Регистратор (создает новые документы и задания);
  • Исполнитель (исполняет задания);
  • Контролер (обработка документов и заданий).

Распределение всех эмулируемых пользователей по этим ролям может меняться, но в стандартном процессе тестирования составляет следующее распределение: Регистраторы – 49%, Исполнители – 49%, Контролеры – 2%

Действия для разных ролей пользователей и их интенсивность описаны в таблице ниже:

Интенсивность по ролям (действий в час)

Регистраторы

Контролеры

Исполнители

Регистрация документов

10

2

Создание заданий

56

Добавление документа к карточке

20

20

6

Открытие карточки документа

25

15

1,5

Открытие карточки задания

10

10

3

Переход в другие папки

15

10

3

Поиск

3

6

9

Построение отчетов

0,5

0,001

Методика измерений

Для выполнения тестов по созданию нагрузки используются инструменты MS Visual Studio: MS Visual Studio Test Controller (для запуска и настройки самих тестов) и MS Visual Studio Test Agent (если для генерации нагрузки используется несколько машин, на каждую из них устанавливается Test Agent, и подключаются на Test Controller'е).

После запуска нагрузочных тестов, с помощью средств MS Visual Studio можно наблюдать за графиками выполнения каждого отдельного теста, нагрузкой на компьютерах, количеством тестов в секунду, количеством сессий пользователей. Также можно наблюдать за табличными данными: количество успешныхпроваленных тестов, время выполнения каждого теста, среднее время выполнения каждого теста. В процессе тестирования также снимаются счетчики производительности (процессор, память, очередь к диску) на сервере приложений и сервере БД. Эти данные впоследствии анализируются для оценки нагрузки на оборудование и резерва мощности.

Под нагрузкой также измеряется время выполнения основных клиентских операций (открытие карточки, запуск Навигатора, отображение представления и т.д. – всего более 80 параметров) на клиентских компьютерах (минимальной и рекомендуемой конфигурации). Время измеряется при помощи секундомера, выполняется от 5 до 10 замеров каждой операции. Из каждого набора измерений времени операции отбрасываются самые большие и самые маленькие значения (для исключения случайных выбросов) и высчитывается среднее арифметическое. Полученный результат заносится в таблицу.

Все операции, по которым проводятся измерения, разделены на несколько смысловых групп:

  • Навигатор
  • Справочники
  • Карточки (документы, задания)
  • Файлы
  • Представления
  • Workflow

Для всех операций, входящих в конкретную группу, вычисляется среднее значение, которое является агрегированным показателем данной группы.

Наконец, считается среднее значение по всем группам, которое дает общий агрегированный показатель по всей системе – индекс производительности.

Его близким аналогом является индекс производительности компьютера, который автоматически вычисляется в ОС Windows (Vista, 7 и 8):

Индекс производительности компьютера

Специализированное тестирование

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

Если Ваша конфигурация по какому-либо из параметров выходит за границы конфигурации и нагрузки, используемой в данной методике, компания «ДоксВижн» может предложить провести специальное тестирование с учётом параметров вашего решения, в том числе, на вашей инфраструктуре.

Методика нагрузочного тестирования как инструмент управления качеством системы

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

Публикацию методики и результатов тестирования разработчики Docsvision считают обязательным для любой системы, претендующей на звание «промышленной».

Как правило, после выпуска каждой версии компания «ДоксВижн» проводит специальный вебинар, на котором раскрывается, какие цели по производительности были установлены при разработке версии, какие были достигнуты, и как в итоге изменился общий индекс производительности.

В каталоге Docsvision с начала 2014 года в описании любого приложения и модуля публикуются основные данные – на каком объеме документов, пользователей или бизнес-процессов тестировался модуль. Это дает разработчикам уверенность в качестве выпускаемого продукта, а пользователям – в том, что производительность системы в их решении будет постоянно расти по мере ее обновлений.

Похожие публикации
17 апреля 2024
В этой статье мы рассмотрим практические кейсы перевода СЭД на ОС Linux.
21 марта 2024
Практические аспекты и опыт миграции БД в рамках СЭД на базе платформы Docsvision с использованием утилиты миграции.
Подпишитесь на рассылку
Нажимая на кнопку «Отправить», вы даёте согласие на обработку ваших персональных данных, в соответствии с политикой «ДоксВижн» в отношении обработки персональных данных.
Поддержка МЧД в СЭД Как изменится порядок подписания? Как подготовить предприятие к изменениям? Как адаптировать СЭД?