快速业务通道

Log4j与磁盘性能优化

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-13

最近在系统优化的过程中发现了这么一个情况和大家分享一下.在我公司中间件服务器(Borland BES)上Log4j是这样配置的.

<param name="ImmediateFlush" value="true"/>
<param name="BufferedIO" value="false"/>
<param name="BufferSize" value="8192"/>
<param name="MaxBackupIndex" value="50"/>
<param name="MaxFileSize" value="10MB"/>

然后在系统监控的过程中用发现磁盘IO等待的比较厉害(Linux AS 4.0 for AMD64)的系统,用vmstat 2 20监控如下.


procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 160 165024 216328 2698016 0 0 0 19 0 0 1 0 97 2
1 0 160 164816 216328 2698016 0 0 0 64 1280 859 2 0 91 6
0 0 160 164824 216328 2698084 0 0 0 182 1395 961 3 1 84 12
0 1 160 164760 216332 2698148 0 0 0 132 1413 1164 3 1 86 10
0 0 160 164768 216332 2698148 0 0 0 162 1337 842 2 1 88 10
0 1 160 164776 216332 2698148 0 0 0 96 1324 715 2 0 93 5
0 0 160 164784 216332 2698216 0 0 0 804 1218 686 1 1 74 24

其中有几个采样上wa (CPU等待IO的时间)达到了24(一般建议小于10).这说明频繁的写日志(1小时30M左右),导致CPU等待IO时间过长.这样频繁的写日志,磁盘也很容易搞坏.

于是对Log4j的配置文件进行了调整,改成了Buffered IO 模式.

<param name="Append" value="true"/>
<param name="ImmediateFlush" value="false"/>
<param name="BufferedIO" value="true"/>
<param name="BufferSize" value="8192"/>

再用vmstat 2 20监控,发现IO明细下降下来了(cs 没有再大于 200过,wa也没有大于20过)


procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 160 47016 226124 2790764 0 0 0 20 1 0 1 0 97 2
0 0 160 47032 226124 2790764 0 0 0 194 1377 828 2 1 80 17
0 0 160 47024 226124 2790764 0 0 0 102 1221 1047 3 1 89 8
0 0 160 46952 226124 2790764 0 0 0 84 1269 793 2 1 90 7
0 0 160 46432 226124 2790832 0 0 0 146 1392 1033 4 1 84 10
0 0 160 46432 226124 2790832 0 0 0 110 1346 1189 3 1 86 10
0 0 160 46376 226124 2790832 0 0 0 168 1299 705 2 0 88 10
0 0 160 46320 226124 2790832 0 0 0 36 1413 668 2 0 95 3

对于日志量比较小的应用来说,采用Buffered模式的,对于系统监控和系统管理来说不太方便(特别是用 tail -f 查看的时候),对于日志量比较大的应用来说就需要考虑一下,采用Buffered模式所能够节约的IO了.


in the same way they are named here: ''imfeeling'' (livejournal.com style), ''listening'' and ''new_field''


:
?

本文出自 “oracle认证” 博客,请务必保留此出处http://tkchw2.blog.51cto.com/2576896/460207

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号