您的位置:首页 > 其它

JBoss AS 7性能调优(四)

2014-05-09 22:26 162 查看
原文:http://www.mastertheboss.com/jboss-performance/jboss-as-7-performance-tuning/page-5

Logging调优

记录日志是每一个应用程序的一个重要任务,默认的配置一般只适合开发,但不适用于生产环境。

您切换到生产环境时需要考虑的关键要素是:

1. 选择一个合适的输出日志的处理handler。

2. 选择一个合适的日志级别,它恰好可以提供给你需要的足够信息,不多也不少。

3. 选择一个合适的日志输出格式。

鉴于一般考虑,日志的处理handler,默认配置会启动控制台和文件的日志输出。虽然这可能在开发环境中是合适的,但在生产环境中使用控制台日志输出将会是一个昂贵的处理过程,导致大量的非缓冲I / O。虽然一些应用程序可能适合控制台日志输出,但大多数应用更适合关闭控制台日志输出,只使用文件输出的处理handler。

为了去掉控制台日志,你可以简单地注释掉其处理handler:

<root-logger>
<level name="INFO"/>
<handlers>
<!-- <handler name="CONSOLE"/> -->
<handler name="FILE"/>
</handlers>
</root-logger>

下一步是选择正确的日志记录级别。显然,记录的日志越少,发生的I / O就越少,这样您的整个应用程序的性能会更好。默认配置使用“INFO”级别根记录器。你可以考虑提高到较高的级别,如“WARN”或(使用细粒度的approach)改变单一的日志记录类别(category)。

<logger category="org.hibernate">
<level name="WARN"/>
</logger>

在这个例子中,我们刚才提出的org.hibernate包使用“WARN”级别,这将从Hibernate中输出更加简洁的日志信息。

最后,日志模式(pattern)也会影响您的应用程序的性能。例如,我们使用默认模式格式,如下所示:

<pattern-formatter
pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>

日志记录模式的详细解释可以在第2章的控制台处理handler内容中找到。从这个基本格式开始,可尽可能考虑添加标志%l,可以通过打印出行号和发出日志的Class来提高你的日志的详细程度:

<pattern-formatter
pattern="%l %d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>

一旦服务器配置被重新加载,控制台输出下面的日志信息:



虽然这些信息在开发时非常有用,但它会导致移植到生产环境中产生很大的性能负担。

其它可能对你的日志性能造成负面影响的标志有%C(打印出调用者的Class信息),%M(它输出打印日志的方法)和%F(它输出发出日志记录请求的文件名)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: