Практические рекомендации от TOPS Consulting: как увеличить производительность Microsoft Dynamics AX

IT технологии

Владимир Семенский, Системный архитектор департамента Microsoft Dynamics AX, TOPS ConsultingВладимир Семенский,
Системный архитектор департамента Microsoft Dynamics AX,
TOPS Consulting

 

В процессе эксплуатации ERP-системы у компаний зачастую возникает необходимость в увеличении производительности решения. Предпосылками к этому становятся замедление отдельных алгоритмов системы, увеличение времени на построение отчетов. TOPS Consulting, партнер № 1 корпорации Microsoft в России в 2014 году, поделилась эффективными методами оптимизации и мониторинга ERP-системы, которые используются в предлагаемой компанией программе ускорения Microsoft Dynamics AX.

Многие компании, пользующиеся ERP-системой, сталкиваются с тем, что со временем построение отчетов занимает все больше времени, диалоговые формы в интерфейсе начинают «зависать» при открытии, скроллинге данных, а работа алгоритмов замедляется. Такое может произойти в результате масштабирования системы (например, при развитии филиальной структуры компании), расширения ее функциональности, подключения новых модулей. Причиной также может стать продолжительная эксплуатация системы без мониторинга и оптимизации. Если не уделять этим процессам должного внимания, со временем ERP- система неизбежно начинает терять в производительности.

Дорога к совершенству

Компания TOPS Consulting на основании опыта сотрудничества с клиентами, использующими ERP-решения различного масштаба, создала программу ускорения, позволяющую добиться значительного увеличения производительности Microsoft Dynamics AX. В нее входит целый комплекс мер по оптимизации и мониторингу системы, соблюдение которых позволит предотвратить снижение эффективности ERP-решения. Первой частью является оптимизация, которую условно можно разделить на три сферы: повышение эффективности инфраструктуры серверов (AOS, SQL), базы данных SQL и непосредственно Microsoft Dynamics AX (ее алгоритмов, интерфейсов).

Дорога к совершенству 

Первое, с чего нужно начать при работе над оптимизацией инфраструктуры, — это пересмотреть конфигурации серверов (AOS, SQL и отчетности). Согласно рекомендациям Microsoft, на начальном этапе запуска системы мощность используемых серверов напрямую зависит от проводимых транзакций и количества пользователей в системе. При изменении этих показателей логичным вариантом является усиление аппаратной части. Однако есть и альтернативный вариант — изменить конфигурацию серверов: какие-то продублировать, а какие-то - перенастроить.

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

Зачастую слабым местом системы становится шина передачи данных. Эта ситуация обычно возникает при частой передаче запросов от сервера к клиенту и обратно. Для оптимизации каналов связи можно использовать гигабитную сеть (либо ее дубль), дублировать канал либо расположить AOS и SQL на одном сервере, но на разных физических дисках. В этом случае сети между серверами не будет, а передача данных будет осуществляться по внутренней шине.

Следующий этап — оптимизация базы данных. И здесь особое внимание стоит обратить на ее размещение. Рабочую базу данных рекомендуется разделять на различные физические диски одного сервера: отдельно — базу данных модулей, отдельно — временные базы данных. Под ведение одной базы данных и журнала транзакций БД стоит выделить отдельные процессоры и диски (предпочтительно использовать скоростные диски SSD). Временные базы данных tempDB также желательно выделить на отдельные физические носители. Помимо разделения на хранилища данных не стоит забывать о проведении сервисных регламентных операций: еженедельная реиндексация и ежедневное обновление статистики. Опыт показывает, что иногда полное обновление статистики, запущенное как отдельная операция, уже дает прирост в скорости выполнения запросов.

Еще одним эффективным способом оптимизировать базу данных является зеркалирование. Этот метод очень помогает, когда внешняя отчетность в компании строится с помощью OLAP-куба. Его перестройка может происходить нескольких раз в день, что забирает значительную часть ресурсов SQL-сервера. Если же OLAP-куб будет строиться на основании зеркалированной базы данных, настроенной в асинхронном режиме, то нагрузку на рабочую БД удастся снизить.

Заключительным этапом повышения производительности ERP-системы является внутренняя оптимизация самой системы Microsoft Dynamics AX. Здесь речь идет об оптимизации форм, алгоритмов и запросов к базе данных —процессах, которые не меняют логику и архитектуру системы. Это работа с индексами и изменение текста запросов в алгоритмах, перевод на пакетный запуск затратных по времени операций, выполнение бизнес-операций в рамках языка СIL, использование инструмента View для предварительной выборки данных, кеширование дисплейных методов, производящих вычисления в системе, и настройка вывода значений по запросу. Помимо этого, в Microsoft Dynamics AX 2012 добавлены инструменты FactBox и PreviewPane, которые помогают выводить вспомогательную информацию лишь при необходимости и только для текущей записи.

Ключ к успеху - в мониторинге

При оптимизации системы основная работа ведется с двумя ее компонентами (сервер AOS и сервер БД), мониторинг которых осуществляется через Microsoft Dynamics AX, а также SQL-сервер с помощью системных инструментов Windows. Среди них можно отметить средство просмотра Viewer, позволяющее настраивать уведомления к определенным видам событий; системный монитор, в графическом виде показывающий загрузку процессора, памяти и различных системных показателей.  Еще одним полезным инструментом является Activity Monitor — внутренний компонент SQL-сервера, который отображает текущую активность пользователей: поступающие от них запросы и возникающие блокировки. Например, к актуальной для многих пользователей таблице запросы могут выстраиваться в очередь, что будет видно в Activity Monitor. Работая с компонентом SQL-server Profiler, можно увидеть все выполняемые запросы на сервере. А узнать, кто именно работает с системой, какое место на диске занимают те или иные таблицы, можно, прибегнув к процедурам SPSWho и SPSUsed, вызываемым с помощью инструмента Agent.

Ключ к успеху - в мониторинге

Microsoft Dynamics AX позволяет проводить мониторинг SQL-запросов и журнализацию. Первый метод необходим для выявления множественных и длинных запросов. Результаты мониторинга могут быть сохранены в таблицу либо отображены в виде предупреждений. Журнализация предоставляет целый спектр данных, на основании которых можно сделать выводы о нагрузке на сервер.

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

Также для мониторинга может использоваться unit-тестирование, позволяющее создавать пиковые нагрузки в системе для оценки загрузки сервера. Наконец, с помощью Profiler кода, встроенного в Microsoft Dynamics AX, можно оценить оптимальность той или иной строки внутри программного кода.

Курс на скорость

Важно понимать, что на внедрении ERP-системы в компании работа с ней не заканчивается. Как и любой сложный механизм, система требует постоянного наблюдения для отслеживания возможных узких мест. Без мониторинга и последующей оптимизации эффективность использования ERP-системы будет снижаться. Программа ускорения от TOPS Consulting – продукт богатой экспертизы компании в области софтверных решений для бизнеса, позволяющий значительно повысить эффективность Microsoft Dynamics AX.

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

 

Остались вопросы? Напишите нам!