我继承了进行大量远程WMI调用的代码。当我反复暂停执行并查看调用堆栈时,它几乎总是在ManagementScope.Connect()
调用中。每个WQL查询似乎都会建立一个新连接。
尽管尝试和错误有限,但我还没有找到任何改善WMI调用性能的大赢家。
我尝试过缓存以前的结果,重用连接,避免可怕的“select *
”。这些并没有给我带来我想要的性能提升。我很想了解环境对WMI性能的影响,但代码需要在各种可能无法控制的环境中运行。
如果有的话,.NET中面向性能的WMI访问有什么作用和不做什么?
答案 0 :(得分:6)
不是我的专业领域,但这可能会有所帮助:
WMI: Improving your WMI application performance in fan-out scenario
“在本博客中,我将讨论使用WMI连接到远程计算机以执行多个WMI操作的三种不同方式,以及它们的性能差异。”