EventLogReader Remote Performance - PullRequest
       17

EventLogReader Remote Performance

5 голосов
/ 10 февраля 2010

Я использую EventLogReader для запроса событий на удаленных серверах 2008 года. Производительность запроса событий на удаленной машине ужасна (6 / сек). Если я запрашиваю ту же машину через WMI, используя ManagementObjectSearch только для пересылки, производительность велика (1000 / сек). Я не вижу подобных параметров в EventLogReader (например, ReturnImmediatly, Rewindable), чтобы ускорить его. Я попытался отключить брандмауэр на удаленном сервере, чтобы проверить, не было ли проблем со связью, но это не имело значения.

При использовании EventLogReader для чтения журналов с локального хоста производительность такая же, как и ожидалось - только по сети замедляется (но WMI не испытывает проблемы).

Есть ли способ повысить производительность EventLogReader по сети?

Спасибо, Митч

1 Ответ

4 голосов
/ 12 февраля 2010

Провел небольшое тестирование (изменил пример кода с http://msdn.microsoft.com/en-us/library/bb671200.aspx), и из моих экспериментов я обнаружил, что снижение производительности происходит от вызова EventRecord.FormatDescription ().

Когда у меня был только вызов EventRecord.ToXml (), я мог удаленно получать с сервера в локальной сети более 4300 событий за 25 секунд со скоростью около 170 событий в секунду. Когда я добавил вызов EventRecord.FormatDescription (), производительность упала почти до 1,5 минут, чтобы прочитать все 4300+ событий и около 52 событий в секунду.

Я прошу прощения, это может быть не тот ответ, который вы хотите, но мой совет будет, если вам не нужно вызывать EventRecord.FormatDescription (), это немного повысит производительность.

...