5

EventLogReaderを使用して、リモート2008サーバーにイベントを照会しています。リモートマシンでイベントをクエリするパフォーマンスはひどいです(6 /秒)。転送専用のManagementObjectSearchを使用してWMI経由で同じマシンにクエリを実行すると、パフォーマンスは優れています(1000 /秒)。EventLogReaderに、速度を上げるための同様のオプション(ReturnImmediatly、Rewindableなど)が表示されません。リモートサーバーのファイアウォールをオフにして、通信の問題が発生する可能性があるかどうかを確認しようとしましたが、違いはありませんでした。

EventLogReaderを使用してローカルホストからログを読み取る場合、パフォーマンスは期待どおりです。速度が低下するのはネットワーク上のみです(ただし、WMIでは問題は発生しません)。

ネットワーク上でEventLogReaderのパフォーマンスを高速化する方法はありますか?

ありがとう、ミッチ

4

1 に答える 1

4

少しテストを行い(http://msdn.microsoft.com/en-us/library/bb671200.aspxのサンプルコードを変更)、実験の結果、パフォーマンスの低下はEventRecord.FormatDescription()の呼び出しによるものであることがわかりました。

EventRecord.ToXml()を呼び出すだけで、LAN上のサーバーから4300イベントを超えて、25秒で約170イベント/秒でリモートにプルできました。EventRecord.FormatDescription()の呼び出しを追加すると、パフォーマンスは約1.5分に低下し、4300以上のすべてのイベントと約52イベント/秒を読み取りました。

申し訳ありませんが、これはあなたが望む答えではないかもしれませんが、EventRecord.FormatDescription()を呼び出す必要がない場合は、パフォーマンスが大幅に向上することをお勧めします。

于 2010-02-12T19:41:14.757 に答える