多数のリモート WMI 呼び出しを行うコードを継承しました。繰り返し実行を一時停止して呼び出しスタックを見ると、ほとんどの場合ManagementScope.Connect()
呼び出し中です。各 WQL クエリで新しい接続が作成されるようです。
限られた試行錯誤にもかかわらず、私はまだ WMI 呼び出しのパフォーマンスを向上させる大きな成果を見つけていません。
以前の結果をキャッシュし、接続を再利用し、恐ろしい " " を回避しようとしましたselect *
。これらは、私が望むパフォーマンスの改善をもたらしませんでした。環境が WMI のパフォーマンスに与える影響を理解したいと思っていますが、コードはさまざまな環境で実行する必要があり、おそらく私の手に負えません。
ある場合、.NET でのパフォーマンス指向の WMI アクセスのすべきこととすべきでないことは何ですか?