写入日志文件会严重降低您的应用程序速度吗?

时间:2010-04-22 08:59:40

标签: performance log4net

我正在使用Log4Net将日志写入文件。这种严重可能会减慢我的申请速度吗?我知道这取决于我写了多少,但是我们说每秒可以写几百条日志。

5 个答案:

答案 0 :(得分:5)

它会减慢您的应用程序(显然),但如果减速符合“严重”的要求,则很大程度上取决于您的应用程序。我认为你需要让它运行然后决定性能是否可以接受......

答案 1 :(得分:4)

当然可以

正如您所说,这取决于您的编写方式。

如果您要登录其他硬盘驱动器,事情会更好。如果您通过基于消息的传输进行日志记录,则可能没问题。

答案 2 :(得分:2)

是的,它可以。考虑配置是至关重要的,因此您可以将其配置为不写那么多日志,然后也没有太多开销。

例如

if (logger.IsDebugEnabled)
{
  logger.DebugFormat("log: {0}", myObject.ToString());
}

只有在需要时才会执行ToString。

当您启用它时需要将日志写入磁盘这一事实 - 您无法对其进行多少操作。但通常写太多日志是没用的,因为无论如何都没有人会读它。

答案 3 :(得分:1)

我不确定申请的缓慢程度。

但是我可以说,如果你每秒写入数百个日志并且也是同一个文件,那么请确保线程同步到位,因为当多个线程尝试访问同一个文件时你不想崩溃。

答案 4 :(得分:0)

“慢”不是二进制属性。这与你正在做的其他事情有关。

如果你正在做的其他事情需要10倍于记录的挂钟时间,那么记录将增加10 :( 10/10 + 1/10 = 1.1)

如果你正在做的其他事情需要花费1/9的挂历时间,那么日志记录将增加10 :( 1/1 + 9/1 = 10 )