Aunque el consejo de @ Erwin funciona en la mayoría de los casos, debería reconsiderar si una mejor arquitectura puede ayudar a mejorar el rendimiento.
Por ejemplo, el servidor Microsoft IIS tiene muchos procesos de trabajo ejecutándose, cada uno enviando entradas de registro al proceso de servicio de IIS a través de un conducto con nombre. Y solo el proceso de servicio de IIS tiene derecho a escribir en los archivos de registro. De esta forma, los procesos de trabajo no necesitan bloquear archivos de registro, y el proceso de servicio puede almacenar entradas en caché y escribirlas en lotes.
Es muy fácil seguir el enfoque de IIS y lograr un buen rendimiento. sin bloqueos de archivos.
(actualizado:. Ahora puede utilizar LogMaster4Net, que implementa una arquitectura tales basado en UDP)