EventLogReader远程性能

Mit*_*eed 5 .net c# performance event-log

我正在使用EventLogReader来查询远程2008服务器的事件.在远程机器上查询事件的性能非常糟糕(每秒6次).如果我使用仅向前的ManagementObjectSearch通过WMI查询同一台机器,性能很好(1000 /秒).我没有在EventLogReader上看到任何类似的选项(例如ReturnImmediatly,Rewindable)来加速它.我尝试关闭远程服务器上的防火墙,看看是否存在通信问题,但这没有什么区别.

当使用EventLogReader从本地主机读取日志时,性能与预期一致 - 只有通过网络它才会减慢速度(但WMI不会遇到问题).

有什么方法可以通过网络加速EventLogReader的性能?

谢谢,米奇

Nat*_*hot 4

做了一些测试(修改了http://msdn.microsoft.com/en-us/library/bb671200.aspx中的示例代码),通过我的实验,我发现性能下降来自于调用 EventRecord.FormatDescription()。

当我只调用 EventRecord.ToXml() 时,我能够在 25 秒内以大约 170 个事件/秒的速度从 LAN 上的服务器远程拉取超过 4300 个事件。当我添加对 EventRecord.FormatDescription() 的调用时,读取所有 4300 多个事件的性能下降到几乎 1.5 分钟,每秒读取大约 52 个事件。

我很抱歉这可能不是您想要的答案,但我的建议是,如果您不需要调用 EventRecord.FormatDescription() ,它将大大提高性能。