Компания «АНД Проджект» провела совместное тестирование производительности серверов IBM и ERP-системы Microsoft Dynamics AX. Цель тестирования – проверить максимально возможное количество пользователей, работающих одновременно в ERP-системе Microsoft Dynamics AX на новейших серверных решениях IBM на платформе Intel. На один из серверов был установлен Microsoft SQL Server 2005, на восемь других – серверы приложений Microsoft Dynamics AOS.
Для проведения тестирования на сервер IBM System x3950 с базой данных была организована суммарная нагрузка 2800 одновременно работающих пользователей. Этого удалось достичь следующим образом: каждый из 8 клиентских серверов обеспечивал нагрузку в 350 пользователей. Была эмулирована (воссоздана) цепочка действий, одновременно выполняемая 350*8=2800 пользователями, т.е. в зависимости от шага сценария примерно 2800 операций в системе Microsoft Dynamics DAX одновременно обрабатывалось на сервере БД IBM System x3950. В качестве цепочки действий – сценария тестирования – был разработана последовательность из 17 действий, от создания закупки в модуле «Расчеты с поставщиками» до разноски накладной по заказу. В целом эмулируемые действия захватывали четыре модуля системы: «Расчеты с клиентами», «Расчеты с поставщиками», «Управление запасами», «Главная книга». Сценарий выполняется последовательно, проходя каждый раз все 17 шагов. (Список действий, выбранных для тестирования, приведен в таблице в конце статьи.)
Как правило, пользователь успевает проделать представленную цепочку действий данного сценария теста за 15 – 18 минут. Примерное время выполнения такой цепочки в нагрузочном тестировании 11 минут, это время намного меньше того, за которое пользователь сумеет повторить цикл. За 4 часа (время тестирования) система выполнит всю цепочку данного сценария 21 раз для каждого эмулируемого пользователя, т.е. будет обработано 588 000 строк закупок, 5 880 000 строк складских журналов и 588 000 строк заказа. Заметим, что при разноске накладных по закупкам и заказам рождаются бухгалтерские проводки, а при разноске складских журналов – складские, результаты работы эмулируемых пользователей ничем не отличаются от реальных. Данный тест нацелен на испытание сервера IBM System x3950.
В ходе реализации сценария нагрузка на все ядра росла равномерно, не поднимаясь выше 70 – 80%. Несмотря на загрузку процессора, все транзакции были выполнены успешно, и все AOS продолжали работать после остановки теста. Это означает, что сервер IBM System x3950 показал себя с лучшей стороны, а система Microsoft Dynamics AX позволила 2800 пользователям одновременно находиться и работать в единой информационной среде.
Схема и параметры тестирования
Все пользователи, под которыми эмулировалась нагрузка, находились в сетевом домене (см. рис.1). На сервере №1 установлен SQL Server 2005. На нем развернуты 2 базы данных – Microsoft Dynamics AX, а также хранилище результатов тестирования. На восьми клиентских серверах (2-10) установлены Microsoft Dynamics AX Client, 2xMicrosoft Dynamics AX AOS, .NET Business Connector и Microsoft® Visual Studio Team System Load Agent. Все AOS работают с одной базой данных, расположенной на сервере №1. На каждом клиентском сервере установлено 2 AOS для распределения нагрузки по 175 пользователей. В итоге один сервер эмулирует нагрузку в 350 пользователей. Схема тестирования предполагает эмулирование нагрузки 2800 пользователей, осуществляющих действия по заданной цепочке сценария.

Рисунок 1 – Схема нагрузочного тестирования
Параметры нагрузочного тестирования
| Параметр | Значение | Комментарий |
| Количество пользователей на каждый AOS | 175 | Значение ступенчато изменяется, во время выполнения теста, с интервалом 10 сек. |
| Время работы теста | 4 часа | - |
| Интервал между тестами | 10 сек. | Пауза между запускаемыми цепочками действий |
| Warm UP | 5 мин. | - |
| Объем RAM на тестируемом сервере IBM X3950 | 64 GB | - |
| Количество процессоров | 32 | - |
Результаты тестирования
После запуска сценария теста значение загрузки процессора начало расти на всех ядрах равномерно. Хотелось бы отметить, что при максимальном количестве пользователей – 2800 загрузка удерживалась на уровне 70 – 80%.
Размер исходной базы данных – 700 MB, после окончания тестирования: 3.74 Gb. Значения счетчиков с информацией о загруженности системных ресурсов снимались при помощи утилиты Microsoft® Windows® 2003 Performance (рис.2).

Рисунок 2 – Performance
1 – % Чтение с жесткого диска (Логический диск)
2 – % Время обращения к жесткому диску (Логический диск)
3 – % Время записи на жесткий диск (Логический диск)
4 – % Использование очереди жесткого диска (Логический диск)
5 – % Чтение страниц в секунду из RAM (Память)
6 – % Размер использования дисковой очереди (Физический диск)
7 – % Процессорное время (Процессор)
Во время запуска нагрузочного тестирования можно было наблюдать следующую картину загруженности ядер процессора (рис.3):

Рисунок 3 – Task Manager
По диаграмме видно, что загрузка процессоров распределяется равномерно:
| Параметр | Значение | Комментарий |
| Максимальная загрузка CPU % | 75% | Наблюдаются редкие скачки с периодичностью ~1 раз в 2 минуты |
| Минимальная загрузка CPU % | 60% | Во время работы теста такое значение достигается довольно редко, с периодичностью ~1 раз в 10 минут |
| Занимаемый объем RAM | 9,6 GB | После запуска теста значение начало расти и достигло такого показателя после 20 минут работы |
Даже при большой загрузке процессора сервер продолжал работу, транзакции успешно выполнялись, и все AOS продолжали работать после остановки теста. Тестирование показало, что сервер IBM System x3950 способен с успехом выдерживать подобные нагрузки, и что 2800 пользователей Microsoft Dynamics AX могут одновременно находиться в единой информационной среде.
Помимо анализа основных показателей производительности на сервере IBM System x3950 снимались показания с агентов на клиентских (нагрузочных) серверах. График со счетчиками загруженности представлен на рисунке 4.

Рисунок 4 – Показатели загруженности ресурсов нагрузочных серверов
На данном графике мы видим, что эмуляция работы 350 пользователей (175*2 AOS) заняла довольно большое количество памяти и загрузка процессора иногда поднималась до 90%.
Помимо анализа системных ресурсов необходимо убедиться, что количество пользователей, эмулируемых на нагрузочных серверах, действительно было равным 175 на каждый из AOS. В качестве примера рассмотрим график ключевых показателей (Рисунок 5):

Рисунок 5 – График результатов выполнения эмулируемых задач в разрезе количества пользователей
Красным цветом на графике показано максимальное количество пользователей в процентах (100%). Синим показаны точки, соответствующие моментам завершения цепочек тестирования. По данному графику можно с уверенностью заявить, что сервер IBM x3950 обеспечил бесперебойную работу 2800 пользователям.
В процессе определения максимально возможного количества пользователей Microsoft Dynamics Ax были определены значения загрузки процессора SQL сервера (Рисунок 1 – сервер №1). Результат испытаний представлен на рисунке 6:

Рисунок 6 – Загрузка CPU при различных вариантах нагрузки
Последовательность действий сценария тестирования
| № Шага | Эмулируемое действие | Описание |
| 1. | Создание Закупки в модуле “Расчеты с поставщиками” | Формирование нового документа, контр-агент выбирается случайным образом |
| 2. | Создание 10 строк Закупки | Закупка 10 видов номенклатур в количестве 25 шт. на главный склад |
| 3. | Создание и разноска отборочной накладной | Создание проводок, отражающих движение товара по складу |
| 4. | Создание и разноска накладной по Закупке | Создание финансовых проводок в системе |
| 5. | Создание складского журнала в модуле “Управление запасами” с типом “Перенос” |
Перенос товара с главного склада на склады “товаров в пути” |
| 6. | Добавление 50 строк в складской журнал, для переноса товара на 5 складов “ТВП*” (Товары в пути) |
Каждая из 10 номенклатур в количестве 5 шт. переносится на 5 различных ТВП* |
| 7. | Комплектация товара на складе-источнике | Подготовка товара к отправке |
| 8. | Регистрация товара на складе-получателе (как будто экспедитор принял товар в машину) |
Эмуляция получения товара на складе ТВП* |
| 9. | Разноска складского журнала | Генерация проводок, отражающих движение товара по складу |
| 10. | Создание второго складского журнала | Эмуляция переноса товара со складов ТВП* на склады, находящиеся в 5 городах |
| 11. | Добавление 50 строк журнала для переноса товара с 5-ти складов “ТВП*” на реальные физические склады в различных городах |
Каждая из 10-ти номенклатур в количестве 5 шт. переносится на 5 складов в различных городах России |
| 12. | Комплектация товара на складе-источнике | Эмуляция подготовки товара к переносу |
| 13. | Регистрация товара на складе-получателе | Эмуляция получения товара |
| 14. | Разноска журнала | Генерация проводок, отражающих движение товара по складу |
| 15. | Создание Заказа в модуле “Расчеты с клиентами” | Формирование нового документа для продажи закупленного товара |
| 16. | Создание 10 строк Заказа из закупленных номенклатур, со складов из разных городов |
Товар продаются из 5 городов, для каждого из 10 видов по 5 шт. из города |
| 17. | Разноска накладной по заказу | Генерация финансовых проводок в системе |
Конфигурация оборудования
и используемое программное обеспечение
Сервера, предоставленные компанией IBM:
1. IBM System x3950M2_A1 Intel® Xeon® CPU X7350 @ 2.93 GHz, 64 Gb of RAM – 1 шт.;
2. IBM BladeCenter_8853 Intel® Xeon® CPU 5160 @ 3 GHz 3 GHz, 3.25 Gb of RAM – 8 шт.;
Программное обеспечение:
1. Microsoft® Windows® Server 2003 R2 SP2 Enterprise Edition;
2. Microsoft® SQL Server 2005 x86;
3. Microsoft® Dynamics AX 4 SP2;
4. Microsoft® Visual Studio Team System 2008;
5. Microsoft® Visual Studio Team System 2008: Test Load Agent;
6. Microsoft® Visual Studio Team System 2008: Test Controller
Вернуться на главную страницу Информационного бюллетеня



