锁定老帖子 主题:log4j真的比JDK logger快吗?
精华帖 (0) :: 良好帖 (7) :: 新手帖 (0) :: 隐藏帖 (2)
|
|
---|---|
作者 | 正文 |
发表时间:2009-09-23
lcllcl987 写道 我只想说一句:
log4j可以设置异步打印(org.apache.log4j.AsyncAppender,要提升性能, 请试一下这个), 可以支持log格式为html格式,可以把log配置打印到数据库... 这个异步,一般情况下并不能提高多少效率。 当并发线程很多的时候,线程的同步也是很大的消耗。并不会提高很多。 |
|
返回顶楼 | |
发表时间:2009-09-23
如果争论这个的话,不如用logback,更快
|
|
返回顶楼 | |
发表时间:2009-09-23
呵呵 以前一直想说的一句话
ray_linn 这个人的说话风格太符合他的头像了 也许正是这种风格而选择了这种头像吧 一般也不太会注意头像,不知道为什么他的头像特别显眼。 |
|
返回顶楼 | |
发表时间:2009-09-23
bohemia 写道 lcllcl987 写道 我只想说一句:
log4j可以设置异步打印(org.apache.log4j.AsyncAppender,要提升性能, 请试一下这个), 可以支持log格式为html格式,可以把log配置打印到数据库... 这个异步,一般情况下并不能提高多少效率。 当并发线程很多的时候,线程的同步也是很大的消耗。并不会提高很多。 你说的,正是异步打印log的原因。 和你说话, 感觉毫无逻辑可言。是否提高效率,那是靠数字说话的。 |
|
返回顶楼 | |
发表时间:2009-09-23
回楼上。
我本地的前段时间测试的数据依据不在了。 不过JE上有位同学也有一些数据。 http://littcai.iteye.com/blog/316605 |
|
返回顶楼 | |
发表时间:2009-09-23
所谓log的性能, 在鄙人看来就是对程序本身几乎没有影响,就是最大的性能。
而不是写log是1ms还是10ms |
|
返回顶楼 | |
发表时间:2009-09-23
lcllcl987 写道 所谓log的性能, 在鄙人看来就是对程序本身几乎没有影响,就是最大的性能。
而不是写log是1ms还是10ms 不同人看法不同吧。 如你所说,性能必须是可量化的才是可测量的。 所以数字更能说明问题。 如果同样的环境下,log从10ms到1ms。就意味着有提升。 另外,你提到的最大的性能。我没见到过。任何日志记录实现(只要是消耗CPU的),就不会“几乎没有影响”。 |
|
返回顶楼 | |
发表时间:2009-09-23
xieyongwei 写道 呵呵 以前一直想说的一句话
ray_linn 这个人的说话风格太符合他的头像了 也许正是这种风格而选择了这种头像吧 一般也不太会注意头像,不知道为什么他的头像特别显眼。 一般不太会注意头像 恐怕原因是很多人都没有头像.. |
|
返回顶楼 | |
发表时间:2009-09-23
bohemia 写道 lcllcl987 写道 所谓log的性能, 在鄙人看来就是对程序本身几乎没有影响,就是最大的性能。
而不是写log是1ms还是10ms 不同人看法不同吧。 如你所说,性能必须是可量化的才是可测量的。 所以数字更能说明问题。 如果同样的环境下,log从10ms到1ms。就意味着有提升。 另外,你提到的最大的性能。我没见到过。任何日志记录实现(只要是消耗CPU的),就不会“几乎没有影响”。 他说的没错啊,其实很多系统中,log的性能就看它对现有系统是不是有影响,特别是那种log很多的系统,异步的log输出是非常有用的,所谓对cpu的影响,只想说对于现在的硬件来说,基本是没影响.并且现在多数的系统其实对cpu的要求都不算高,性能问题主要都出现在io(数据库,硬盘读写)上. |
|
返回顶楼 | |
发表时间:2009-09-24
香克斯 写道 bohemia 写道 lcllcl987 写道 所谓log的性能, 在鄙人看来就是对程序本身几乎没有影响,就是最大的性能。
而不是写log是1ms还是10ms 不同人看法不同吧。 如你所说,性能必须是可量化的才是可测量的。 所以数字更能说明问题。 如果同样的环境下,log从10ms到1ms。就意味着有提升。 另外,你提到的最大的性能。我没见到过。任何日志记录实现(只要是消耗CPU的),就不会“几乎没有影响”。 他说的没错啊,其实很多系统中,log的性能就看它对现有系统是不是有影响,特别是那种log很多的系统,异步的log输出是非常有用的,所谓对cpu的影响,只想说对于现在的硬件来说,基本是没影响.并且现在多数的系统其实对cpu的要求都不算高,性能问题主要都出现在io(数据库,硬盘读写)上. 是啊。性能问题。 前段时间,专门做日志输出的性能优化。 从文件,到异步,到JMS,Socket都快尝试变了。 但各种方式比较下来,变化提升不大。 尤其log4j的AsynAppender,这个你看了源代码就知道的。都是做并发控制的。并发的情况下,性能表现并不会提升。 |
|
返回顶楼 | |