【问题标题】:monitor log4j behaviour under load监控负载下的 log4j 行为
【发布时间】:2015-06-14 11:50:27
【问题描述】:

我想在访问不同页面的高负载会话下测试我的 J2EE 应用程序。

这个 Web 应用程序使用 Log4J 来记录一堆错误、警告和信息。 我想测试这种负载对写入日志文件的副作用是什么,尤其是并发 I/O 写入操作。

我发现Log4j deadlock under high load conditions

问题是操作系统(linux)是否对并发 I/O 文件写入有任何限制,或者 Log4j 是否处理这种并发?

如何监控任何 I/O 进程延迟(由于高负载)或发生任何死锁?

谢谢

【问题讨论】:

    标签: logging concurrency io log4j


    【解决方案1】:

    由于没有人回答我的问题,

    这个link 以某种方式帮助我解决了我的问题。

    Log4j 串行写入文件和控制台。因此,当一个线程正在写入另一个想要写入的线程时,必须等到另一个线程完成。此外,如果另一端附加到它的任何东西没有耗尽它,stdout 可以阻塞。

    在 unix 中有一个特殊的文件描述符称为stdout。当您在控制台中启动应用程序时,stdout 将附加到控制台。您还可以将stdout 重定向到其他文件。 ex: java Blah > /dev/null。很有可能你有stdout 指向一个正在填满的文件。例如管道是一个文件,如果另一端的程序没有耗尽管道,那么写入管道的程序最终将阻塞。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-13
      • 2015-10-22
      • 2010-12-21
      • 2014-04-25
      • 1970-01-01
      • 1970-01-01
      • 2014-08-12
      • 1970-01-01
      相关资源
      最近更新 更多