Как я могу улучшить производительность WMI в .NET? - PullRequest
11 голосов
/ 25 июня 2009

Я унаследовал код, который делает многочисленные удаленные вызовы WMI. Когда я несколько раз приостанавливаю выполнение и смотрю на стек вызовов, он почти всегда находится в ManagementScope.Connect() вызове. Кажется, с каждым WQL-запросом устанавливается новое соединение.

Несмотря на ограниченное количество проб и ошибок, я пока не нашел больших побед в улучшении производительности вызовов WMI.

Я пытался кэшировать предыдущие результаты, повторно использовать соединения и избегать страшных "select *". Это не дало мне улучшения производительности, которое я хотел бы. Мне интересно понять влияние среды на производительность WMI, но код должен работать в самых разных средах, которые, вероятно, находятся вне моего контроля.

Если таковые имеются, каковы преимущества и недостатки ориентированного на производительность доступа WMI в .NET?

1 Ответ

6 голосов
/ 30 июня 2009

Не моя область знаний, но это может помочь:

WMI: повышение производительности приложения WMI в сценарии разветвления

"В этом блоге я расскажу о трех разных способах подключения к удаленному компьютеру с помощью WMI для выполнения нескольких операций WMI и об их различиях в производительности."

...