5 Stimmen

EventLogReader Remote-Leistung

Ich verwende den EventLogReader, um entfernte 2008-Server nach Ereignissen abzufragen. Die Leistung bei der Abfrage von Ereignissen auf einem Remotecomputer ist schrecklich (6/Sek.). Wenn ich denselben Rechner über WMI mit einer reinen Vorwärtssuche nach ManagementObjectSearch abfrage, ist die Leistung hervorragend (1000/s). Ich sehe keine ähnlichen Optionen für den EventLogReader (z. B. ReturnImmediatly, Rewindable), um ihn zu beschleunigen. Ich habe versucht, die Firewall auf dem Remote-Server zu deaktivieren, um zu sehen, ob es möglicherweise Kommunikationsprobleme gibt, aber das hat keinen Unterschied gemacht.

Wenn Sie EventLogReader verwenden, um Protokolle vom lokalen Host zu lesen, ist die Leistung wie erwartet - nur über das Netzwerk wird sie langsamer (aber WMI hat dieses Problem nicht).

Gibt es eine Möglichkeit, die Leistung von EventLogReader über das Netzwerk zu beschleunigen?

Danke! Mitch

4voto

Nate Pinchot Punkte 3268

Ich habe ein wenig getestet (den Beispielcode aus http://msdn.microsoft.com/en-us/library/bb671200.aspx ) und von meinem Experimentieren fand ich, dass die Leistung Hit kommt aus dem Aufruf EventRecord.FormatDescription().

Als ich nur einen Aufruf von EventRecord.ToXml() hatte, konnte ich über 4300 Ereignisse in 25 Sekunden bei etwa 170 Ereignissen pro Sekunde von einem Server im LAN abrufen. Als ich einen Aufruf von EventRecord.FormatDescription() hinzufügte, sank die Leistung auf fast 1,5 Minuten, um alle über 4300 Ereignisse und etwa 52 Ereignisse pro Sekunde zu lesen.

Ich entschuldige mich, dies kann nicht die Antwort sein, die Sie wollen, aber mein Rat wäre, wenn Sie nicht brauchen, um EventRecord.FormatDescription() aufzurufen, wird es Leistung ziemlich viel zu erhöhen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X