Как улучшить производительность Dynamics 365 Finance and Operations (D365FO)

Category: Статьи Post Date: 29.03.2021

«Почему это работает так медленно?» это вопрос, который охватывает различные проблемы с производительностью любого программного обеспечения. Сложные enterprise-класса системы вряд ли смогут показать отличную производительность с настройками по умолчанию. Не является исключением и Microsoft Dynamics 365 Finance and Operations.

Жалобы на недостаточную производительность Dynamics 365 Finance and Operations зачастую оказываются безосновательными. Неправильные настройки Системы, а также некоторые объективные факторы могут повлиять на параметры работы D365FO. Без надлежащего мониторинга и настройки системы компании могут столкнуться с проблемами в скорости и производительности.

Основной вопрос – действительно ли Вашей Системе не хватает производительности или, возможно, всё дело в конфигурации? Ниже мы дадим несколько советов о том, как проводить мониторинг и настройку Системы, чтобы избежать медленной работы.

Советы по улучшению производительности Dynamics 365

Далее в этой статье мы приведём наиболее эффективные и проверенные способы оптимизации производительности Dynamics 365 Finance and Operations. Существует достаточно много инструментов и подходов для борьбы с простоями, уменьшения задержки и выравнивания производительности работы сервера и клиента.

Проверка Системы

Прежде всего, вам следует избегать проблем с первоначальной совместимостью, проверив требования программного обеспечения D365FO, а также изучив структуру вашей существующей системы. Веб-приложение Dynamics имеет четко определенные требования и работает в наиболее часто используемых браузерах (Chrome, Edge, Safari, Explorer).

Если вы используете Azure, вам также следует тщательно проверить конфигурацию всех приложений Azure. Для этого вы можете использовать Azure App Configuration – службу для централизованного управления настройками приложений и функций. Это помогает избежать негативного влияния на производительность распределения параметров конфигурации компонентов. Если же вы работаете исключительно локально, вам следует проверить конфигурацию каждого подключенного сервера.

Добраться до источника проблемы

Многие заявляют, что оптимизировать облачную систему Dynamics 365 просто невозможно, а ответственность за все недостатки производительности лежит исключительно на Microsoft. Это распространенное заблуждение. Существует множество способов мониторинга и оптимизации установки D365FO, о некоторых из которых мы поговорим в статье. Но для начала следует найти источник проблемы, понять откуда она исходит.

Наиболее частые причины низкой производительности в Dynamics 365 – это либо плохо написанный код, либо несоблюдение рекомендаций от Microsoft по обслуживанию системы в реальном времени. Поэтому, сначала, обязательно проверьте соответствие первоначальным рекомендациям по настройке Системы.

Вот несколько шагов, которые мы рекомендуем сделать:

  • Используйте Trace Parser для тщательного анализа кода
  • Используйте управление средой LCS (Lifecycle Services)
  • Проведите анализ резервных копий
  • Подключите поддержку Microsoft Premium Support
  • Ознакомьтесь с группами Microsoft D365 в Yammer для получения дополнительной информации

Анализ с помощью инструмента Performance Timer

Performance Timer – отличный инструмент для устранения неполадок с производительностью Dynamics 365 Finance and Operations. Это простой инструмент, и он предлагает быстрый способ получить представление об отдельных действиях системы, не углубляясь слишком далеко – все, что вам нужно иметь, это браузер.

Чтобы запустить Performance Timer Вам необходимо открыть веб-страницу D365FO с параметром debug=develop добавленным к URL следующим образом:

https://mysite.cloudax.dynamics.com/?cmp=usmf&debug&develop

Вы сразу же увидите инструмент Performance Timer, добавленный на панель меню Dynamics 365. Далее просто откройте страницу, которую вы хотите проанализировать, нажмите «Timer», и вы увидите разницу между временем работы на клиенте и временем работы на сервере, рассчитанную и отображаемую следующим образом:

Далее Вы можете произвести более глубокое исследование – просмотреть различные действия, просмотреть весь список вызовов сервера с фильтрами и просмотреть наиболее трудоемкие операторы SQL в последних сеансах. Вы также можете проанализировать запросы, которые выполняются в режиме реального времени. Существуют счетчики производительности серверов, которые также помогают в мониторинге производительности D365.

Другие вещи, которые также полезно будет проверить:

  • Процессы сборки мусора (GC) накапливаемые на сервере;
  • Формы, которые открыты в это время, а также их скорость открытия / закрытия в секунду и счетчики для всех созданных и закрытых форм;
  • Текущие сессии веб-клиента – свободные и используемые;
  • Общее количество созданных сессий;
  • Удобно отсортированные SQL-запросы, запускаемые определенными вызовами.

Использование инструмента Performance Timer – отличное начало и фундамент для постоянного процесса оптимизации производительности. Вы точно ничего не потеряете используя его.

Производительность сети

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

  • Пропускная способность. Это пропускная способность сети, измеряемая в битах в секунду, которая определяет, сколько данных может быть передано через сеть в единицу времени. Файл размером 1 ГБ может быть передан примерно за 8 секунд, если пропускная способность сети составляет 1 ГБ/с.
  • Latency (задержка). Это время отклика между сервером и клиентом, измеряемое в миллисекундах. И объем сетевого трафика, и доступность прокси-серверов могут существенно повлиять на задержку.

Обычно проводные сети имеют меньшую задержку и более высокую пропускную способность, чем Wi-Fi и мобильные подключения. Кроме того, расстояние до сервера определяет производительность сети, какой бы тип подключения ни использовался.

Для выявления проблем с производительностью сети вы можете использовать различные тесты скорости на основе браузера со встроенными инструментами мониторинга производительности сети. Последний доступен также в Dynamics 365 для выполнения быстрого теста диагностики скорости соединения между клиентом и организацией.

Производительность сервера

Что касается серверов, то никакие изменения невозможны, поскольку Microsoft полностью их контролирует. Ситуация схожа в обоих случаях – как с on-premise так облачной инсталляцией. Однако есть несколько надёжных методов проверки и повышения производительности работы сервера. Несмотря на то, что они в основном относятся к онлайн-развертываниям, их стоит упомянуть в нашем контексте. Кроме того, это также может быть частью необходимого мониторинга производительности D365.

  • Модель безопасности. Dynamics 365 позволяет настраивать модели безопасности разной степени сложности. Роли безопасности распределяются в соответствии с упорядоченной позиционной иерархией. Пользователи могут получить доступ к D365FO посредством присвоения или наследования. Система делает запросы о ролях безопасности участников, используя несколько уровней.

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

  • Workflow. Несмотря на многие предубеждения, присущие разработчикам, использование D365FO «из коробки» обеспечивает лучшую производительность, когда речь идет о таких функциях, как синхронизация Workflow. Не требуется дополнительного кода на стороне сервера. Конечно, возможна любая кастомизация, но могут возникнуть административные проблемы и дополнительные финансовые затраты, не говоря уже о проблемах с производительностью D365 в случае использования некоторых специальных плагинов.
  • Запрос данных. Чтобы выполнить некоторые стандартные операции, такие как чтение, обновление, удаление и т. д., или для того, чтобы получить некоторые данные, системные запросы могут занять много времени. Системные администраторы могут организовать существенную оптимизацию длительно выполняемых запросов, добавив индексы Microsoft SQL. Никакого разрешения от группы поддержки Microsoft в данном случае не требуется.

Проблемы настройки

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

Для выявления проблем, влияющих на производительность D365, Вы можете использовать Performance Center (CTRL+SHIFT+ALT+Q). При помощи этого инструмента будут визуализированы элементы, на загрузку которых уходит больше всего времени. Некоторые эффективные способы оптимизации производительности доступны также в документации Microsoft.

Совокупное негативное влияние на формы D365 может произойти с различными элементами настройки, такими как свернутые вкладки, веб-ресурсы и вложенные сетки. Чем более сложные данные должны отображаться в пользовательском интерфейсе, тем больше требуется период загрузки. С другой стороны, минималистичный дизайн может оптимизировать производительность форм D365.

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

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

Некоторые веб-ресурсы (HTML-страницы, изображения и т. д.), отображающие настраиваемый контент, часто встроены в формы. Держите их в свернутых вкладках без рендеринга в мобильном клиенте.

Производительность SQL

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

Еще одним фактором, влияющим на производительность D365, является фрагментация индекса. Раздел Environment Details позволяет проверить этот процесс. Перейдите в Environment Monitoring, чтобы регулярно настраивать перестройку индексов. Настройте задание по умолчанию, чтобы система выполняла его автоматически. Кроме того, вы можете настроить период, в течение которого задание бы не выполнялось при загрузке системы более 50%.

Очистка устаревших данных в приложениях Power Platform

Нередка в настоящее время архитектура, состоящая из связанных компонентов D365FO и Model-driven приложений на DataVerse.  Если не выполнять очистку, в них также накапливается много избыточных данных. Выполненные заказы, история транзакций и тому подобное могут сильно повлиять на работу вашей D365. Чтобы освободить размер базы данных, задания очистки можно запускать вручную или автоматически в каждом модуле Dynamics 365. Будьте осторожны с данным процессом, так как некоторые критичные бизнес-данные могут исчезнуть. Обсудите со своей командой, что убрать, а что оставить. Следуйте рекомендациям Microsoft, чтобы регулярно очищать историю в нерабочие периоды.

Рекомендуем выполнять следующие действия:

  • Выявление дубликатов. Вы можете использовать инструмент Duplicate Detection Wizard, предлагаемый платформой. Duplicate Detection Wizard – достаточно простой инструмент для проверки дубликатов;
  • Объединение дубликатов. Внутри объекта вы можете легко объединить дубликаты – Вы просто выбираете записи для объединения и нажимаете «Merge» на панели;
  • Инструмент Bulk Delete Wizard – для экономии вашего времени и нервов, с помощью него Вы можете массово удалять устаревшие данные. Для этого перейдите в Settings -> Data Management -> Bulk Record Deletion; здесь вы можете создать новое задание массового удаления. Просто нажмите «New» и следуйте инструкциям.

Производительность «Облака»

Подписка Azure позволяет выбрать размер виртуальных машин и их оптимальную настройку для достижения максимальной производительности D365. Тарифный план Premium на основе SSD-хранилища доступен с виртуальными машинами серии DS. К примеру, DS13V2 предлагает 8 ядер вместе с 54 ГБ оперативной памяти, такая конфигурация более чем достаточна для любого сценария.

Такой план довольно дорогой по сравнению с серией DS12V2, имеющей 4 ядра и 28 ГБ ОЗУ. Рекомендуется выбирать такую виртуальную машину с тремя SSD-дисками по 128 ГБ каждый. Такая настраиваемая конфигурация диска SQL может стоить около 16 евро за диск в месяц. Вы можете изменить настройки, чтобы сделать конфигурацию еще дешевле, если для ваших рабочих процессов достаточно всего двух дисков.

Заключение

Производительность Dynamics 365 Finance and Operations зависит от того, как настроена Система. Непрерывный мониторинг производительности D365 – это то, что может помочь правильно настроить систему. Приведенные выше предложения включают лишь несколько методов повышения производительности системы по сравнению с версией «из коробки».

Достижение наилучшей производительности D365 возможно в любом сценарии. Однако никогда не следует пренебрегать дополнительными возможностями, которые вы можете получить. Воспользуйтесь преимуществами всего набора служб Azure и Power Platform, чтобы в конечном итоге повысить производительность Dynamics 365 Finance and Operations.

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

Подписывайтесь на канал @d365neti в Telegram

Подписаться

Добавить комментарий