2008年10月8日星期三

性能敏感的环境下用日志要小心

昨天用Profiler跑CPU负载时发现某个函数占用的CPU特别的多……但是函数本身没有什么特别之处,只是调用十分频繁(但是不止这一个函数调用频繁),最后吧焦点锁定到了日志记录上(好像经常跟上面栽跟头啊)
本来是用String.format格式化了一个字符串,然后再传到logger里面的,但是这个logger已经被关掉了。所以问题出在String.format上,屏蔽掉这个东西以后果然CPU占用立刻减少。
但是日志怎么办呢,Log4j的logger提供了isXXXEnabled方法,外面加个if就搞定了

0 人次吐槽:

发表评论