fun*_*gdu 6 .net c# logging streamwriter
我在一个客户端服务器应用程序中工作,其中多个客户端和服务器正在进行基于套接字的通信,以进行性能非常关键的金融交易.目前我正在使用system.IO命名空间的streamwriter来写入文件中的日志.对于单个事务,我需要调用streamwriter方法50次以记录不同的值,并且对于超过50,000个事务,此日志记录所花费的时间变得非常重要.
如何减少应用程序进行日志记录所需的时间?我是否需要选择其他方法或任何其他类而不是编写器?用较少的时间进行日志记录的最佳方法是什么.
如果性能是关键,那么我会考虑查看Windows事件跟踪(AKA ETW).
使用.NET 4.5和EventSource类的引入,这使得ETW比过去更容易实现.
Vance Morrison的博客上有一些关于这个主题的好文章.
有关体系结构的概述,请参阅使用ETW改进调试和性能调优.
Microsoft的模式和实践团队还提供了语义应用程序块,可以更轻松地合并EventSource功能并管理日志记录行为.