BzH*_*BzH 7 io concurrency logging log4j
我想在访问不同页面的高负载会话下测试我的J2EE应用程序.
此Web应用程序使用Log4J记录大量错误,警告和信息.我想测试这个负载对写日志文件的副作用是什么,特别是并发I/O写操作.
我发现Log4j在高负载条件下死锁.
问题是OS(linux)对并发I/O文件写入有任何限制,还是Log4j处理这种并发?
如何监控任何I/O进程延迟(由于高负载)或发生任何死锁?
谢谢
由于没有人回答我的问题,
该链接以某种方式帮助我解决了我的问题。
Log4j 串行写入文件和控制台。因此,当一个线程正在写入时,另一个想要写入的线程必须等待另一个线程完成。此外,如果另一端附加到 stdout 的任何内容没有耗尽它,则 stdout 可能会阻塞。
在unix中,有一个特殊的文件描述符,称为stdout. 当您在控制台中启动应用程序时,应用程序stdout将附加到控制台。您还可以重定向stdout到其他文件。ex: java Blah > /dev/null。您很可能stdout指向一个即将填满的文件。例如,管道是一个文件,如果另一端的程序没有耗尽管道,则写入管道的程序最终将被阻塞。
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |