Obwohl @ Erwins Ratschlag in den meisten Fällen funktioniert, sollten Sie sich überlegen, ob eine bessere Architektur die Leistung verbessern kann.
Zum Beispiel hat Microsoft IIS-Server viele Arbeitsprozesse ausgeführt, jeder sendet Protokolleinträge zu IIS-Dienstprozess über eine Named Pipe. Und nur der IIS-Dienstprozess hat das Recht, in Protokolldateien zu schreiben. Auf diese Weise müssen Worker-Prozesse keine Protokolldateien sperren, und der Dienstprozess kann Einträge zwischenspeichern und in Batches schreiben.
Es ist sehr einfach, dem Ansatz von IIS zu folgen und eine gute Leistung zu erzielen. ohne Dateisperren.
(Aktualisiert: Sie können jetzt LogMaster4Net verwenden, die eine solche UDP-basierte Architektur implementiert.)