Показать сообщение отдельно
Старый 17.01.2013, 14:58   #1  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Выделение памяти под процессы на сервере MS CRM
Печальная история
Некоторое время назад заметил, что с определенной периодичностью начал "отваливаться" один из workflow-процессов с описанием ошибки "Недопустимый тип получателя". Ошибка возникает на шаге, который вызывает создание новой кастомной сущности, на которой работает очень хитрый и развесистый PreCreate-плагин. Стал думать и гадать, разбираться так и сяк - в ручном режиме ошибка не отлавливается: всё работает с первого раза. Но суть не в самой ошибке, а в попытках обнаружения её источника. В процессе наблюдения и разбора обнаружилось, что на сервере CRM (single server) происходит нехилое выделение памяти под процессы:

- Microsoft CRM Asynchronous Processing Service (один из двух), и
- Microsoft.Crm.Sandbox.HostService

Отмечу, что в общих масштабах сервера в принципе, выделяемая память не занимает какое-то критичное пространство - около 20% всего, да и Microsoft.Crm.Sandbox.HostService периодически "ужимается" до исходного состояния. Но вот Asynchronous Processing Service реально беспокоит - за три цикла выполнения указанного workflow (трижды подряд он срабатывает), выделямая память возросла с 300 460 К до 544 924 К.
Подозреваю, что код плагина должен содержать какие-нить Dispose или что-то вроде. Но что делать конкретно, непонятно, поэтому, если кто знает ответы на вопросы (смотрим ниже) или даже знает источник, из которого можно прочесть что-то,- буду благодарен за помощь.
Вопросы:
1. Что влияет на выделение памяти под указанные процессы?
2. Как правильно организовать программные ресурсы плагина для того, чтобы избежать утечек?
3. Хотелось бы понимать: за что отвечает процесс Microsoft.Crm.Sandbox.HostService и какие выводы можно сделать, если под данный процесс выделяется память?
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!

Последний раз редактировалось Likefire; 17.01.2013 в 15:11.