PerfMon カウンターからいくつかの値を取得する単純な監視アプリケーションがあります。ローカル マシンでテストする場合でも、新しいPerformanceCounter
オブジェクトを作成するのに 30 秒以上かかります。
using System;
using System.Diagnostics;
namespace test_slow_perfmon
{
class Program
{
static void Main(string[] args)
{
Stopwatch w = new Stopwatch();
w.Start();
PerformanceCounter c = new PerformanceCounter("PhysicalDisk", "Avg. Disk Read Queue Length", "_Total", "localhost");
w.Stop();
Console.WriteLine(string.Format("Creating a counter took {0}ms", w.Elapsed.TotalMilliseconds));
}
}
}
そこからの出力は、各カウンターを作成するのに 32 秒以上であることを示します。
カウンターの作成を高速化するにはどうすればよいですか?