log4Net的哪一个appender最快?

log4Net的哪一个appender最快?,log4net,Log4net,除了ConsolePender之外,log4Net最快的附加器是什么 您可以编写相当于的log4Net,这将非常快。。。(哎呀,我原本以为问题是关于log4j的;但同样的建议也适用。) 当然,这没有任何用处——这让我想知道你为什么如此重视速度。通常的方法是确定您需要什么,然后对其进行基准测试/评测,以检查其性能是否充分。我怀疑,在数据真正成为瓶颈之前,您将被淹没在无法有效处理的数据中。日志记录是否存在已知的性能问题?请签出。我们用它来转发一个。它对写入进行批处理,并允许代码在不等待写入的情况下继

除了ConsolePender之外,log4Net最快的附加器是什么

您可以编写相当于的log4Net,这将非常快。。。(哎呀,我原本以为问题是关于log4j的;但同样的建议也适用。)

当然,这没有任何用处——这让我想知道你为什么如此重视速度。通常的方法是确定您需要什么,然后对其进行基准测试/评测,以检查其性能是否充分。我怀疑,在数据真正成为瓶颈之前,您将被淹没在无法有效处理的数据中。日志记录是否存在已知的性能问题?

请签出。我们用它来转发一个。它对写入进行批处理,并允许代码在不等待写入的情况下继续。我们设置了一个计算器来强制刷新警告阈值,并将lossy设置为false,这样我们就不会错过任何消息


您应该考虑

  • 写入文件比写入控制台快得多
  • 我猜您的问题在于预生产(先整理日志数据,然后不使用它) 使用log.canLog确保您可以在创建数据之前登录(这通常是大客户)
  • 检查你没有使用所有类型的字段,如用户的当前凭据等,这些字段都很耗时
    不,性能问题不在于日志记录,但总的来说,我正在研究如何提高应用程序的性能,并添加了log4Net以在运行时对其进行分析。我不希望这是一个太多的开销,因为应用程序已经很慢了。所以我在寻找最快的appender。@阿弥陀佛:如果应用程序已经很慢,那就意味着日志记录更不可能产生重大影响。真的,使用你最容易记录的东西,然后明智地使用日志记录。这可能是提高应用程序整体速度的最快方法。我要补充的是,有时问题不在于日志记录速度有多慢,而在于侵入性有多大。例如,如果您正在从多个线程进行日志记录,那么日志记录的行为本身就可能导致它们同步,从而抛出您想要测量的内容。通常的答案是登录到一个队列中,该队列在一个线程中处理。我必须说,使用Log4Net进行日志记录会显著降低应用程序的速度,这取决于日志记录的级别和消息的数量。写入磁盘的成本总是很高的,异步日志记录的想法对性能来说是非常好的。这正是我不知道我在寻找的。我在一个简单的web项目中测试了这一点,(令人惊讶的)可伸缩性没有提高,反而更差。测试:每个请求20行日志,500个请求/50个用户。结果:无日志记录:278 req/s,滚动文件追加器:129 req/s,缓冲转发滚动文件:76 req/s。进一步挖掘,发现这是此追加器的已知问题。看见建议的修复是258 req/s,BufferingForwardingAppenderfromTozew的链接,添加到配置中会使它变得更好。