-2

Я работаю с Dynamics CRM 201 6, я разработал указанные plug_ins.
В моем первом тесте мой процесс длится так долго, что отображается time out exception.Как проверить Microsoft Dynamics CRM 2016 Plug_ins с Benchmark

Я оптимизировал свой код, переработал свои plug_ins, чем во второй раз. Сейчас более эффектно , но мне нужны некоторые меры или статика.
Мне сказали использовать Benchmark, но я не мог найти никакой документации по использованию.
Пожалуйста, помогите мне интегрировать Benchmark в процесс Dynamics CRM 2016, я застрял здесь.

ответ

0

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

Лучше всего предположить, что вы работаете с обновлением сущности и обновляете объект, что, в свою очередь, заставляет ваш плагин запускать снова, обновляя объект, что, в свою очередь, заставляет ваш плагин снова запускать , обновляя объект ... бесконечный цикл, который затем закрывается через 2 минуты CRM.

0

Кроме того, в дополнение к тому, что сказал Дэрил, убедитесь, что вы не вынимаете так много записей одновременно, так как для каждого запроса максимально допустимое время выполнения.

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

Если вы используете OnPrem, вы можете использовать SQL Monitor для этого, как, узнать, если у вас есть какие-либо замки, длинные запросы, и т.д. ...

С некоторой SQL Execution Plan магией и немного терпения вас может улучшить любые узкие места там и получить время выполнения запроса.

Теперь, если это CRM онлайн, вы будете более ограничены в отношении того, что вы можете контролировать.

Удачи вам!

0

В CRM 2016 при использовании ITracingService.Trace выход записывается внутри объекта Plugin Trace Log (активируйте его в Системных настройках, сама сущность находится в области «Настройки»).

Вы можете просто использовать трассировку, чтобы написать что-то (т.е. «СТАРТ» в начале Execute метод и «END» в конце), а затем посмотреть на лица Plugin журнала трассировки, который (как и все лица) имеет createdon поле ,

На стороне примечания, когда желательно сравнить плагин с плагином, скорее всего, скорее всего это будет быстрее (если плагин займет 2 секунды, тесты становятся неуместными)