Тестирование показало: Microsoft Dynamics AX и сервер IBM System x3950 обеспечивают бесперебойную работу 2800 пользователей в одной базе
Компания «АНД Проджект» провела совместное тестирование производительности серверов 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
Вернуться на главную страницу Информационного бюллетеня
|