我继承了进行大量远程 WMI 调用的代码。当我反复暂停执行并查看调用堆栈时,它几乎总是在 ManagementScope.Connect()
调用中。每个 WQL 查询似乎都建立了一个新连接。
尽管进行了有限的尝试和错误,但我在提高 WMI 调用的性能方面尚未发现任何重大成果。
我尝试过缓存以前的结果、重用连接并避免可怕的“select *
”。这些并没有给我带来我想要的性能改进。我有兴趣了解环境对 WMI 性能的影响,但代码需要在可能超出我控制范围的各种环境中运行。
如果有的话,.NET 中面向性能的 WMI 访问该做什么和不该做什么?
最佳答案
不是我的专业领域,但这可能会有所帮助:
WMI: Improving your WMI application performance in fan-out scenario
“在本博客中,我将讨论使用 WMI 连接到远程计算机以执行多个 WMI 操作的三种不同方式,以及它们的性能差异。”
关于.net - 如何提高 .NET 中的 WMI 性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1045782/