Sam*_*erg 4 java log4j low-latency
我们有一个使用log4j的高速,大容量应用程序.通常我们一直在使用SyslogAppender,认为它是最轻的,最快的追加器.但是我们看到SYSLOG在高容量下的CPU利用率很高(因为SYSLOG conf中的过滤规则).
我们可能想切换到使用FileAppender.问题是我们是否希望将此与log4j AsyncAppender结合使用以消除由于刷新(强制)到磁盘而导致的任何暂停?
(该应用程序对延迟非常敏感,因此我们希望最小化appender可能添加的任何延迟.)另外 - 我不确定SyslogAppender是否真的比FileAppender更快(无论如何(但这是我开始以来的事情).
对此的任何想法将不胜感激.
我肯定会使用AsyncAppender.
我已经看到低延迟应用程序几乎停止使用标准文件追加器.不可否认,他们在共享硬件和磁盘上使用(OS)虚拟机,因此一个虚拟机可以独占磁盘IO,并在尝试登录时停止其他虚拟机.
您还可以考虑记录到JMS和其他异步策略.