私はWMIを使用して何百ものホストを監視しています。私は約5秒ごとにCPU使用率をポーリングしています。現在スケジュールされている適切なWMIクエリを実行するためにC#のスレッドプールを使用しています。通常、クエリを実行するスレッドは30個程度しかありません。時には、5秒ではなく16秒のギャップがあり、CPU使用率が目に見えません。 CPUが十分に活用されていないので、私はボトルネックがRPCまたはTCP/IPスタックにあると思われます。しかし、私はTCP/IPスタックではないと思います。なぜなら、接続は永久に開かれているからです。だから私はボトルネックが監視マシン上のRPCにあると思われます。Windows RPCチューニング
監視マシンで実行できるRPC調整はありますか?
UPDATE 1:
私は投稿する前に私はすでにいくつかの.NETのチューニングを行っています。私はThreadPool.SetMinThreads(200, 200)
とThreadPool.SetMaxThreads(300,300)
コールでThreadPool
を調整しました。私はTask
オブジェクトを使用しています。すべてはTaskCreationOptions.LongRunning | TaskCreationOptions.PreferFairness
で作成しました。
残念ながら、私はすでに投稿しています。私は 'ThreadPool'を' ThreadPool.SetMinThreads(200,200) 'と' ThreadPool.SetMaxThreads(300,300) 'の呼び出しで調整しました。私は 'Task'オブジェクトを使用しています。すべて' TaskCreationOptions.LongRunning | TaskCreationOptions.PreferFairness'。 – wilx