首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

resin切换日记消耗过大

2013-04-20 
resin切换日志消耗过大最近Resin服务器总是在晚上0点负载很高,影响了正常的使用。持续时间少则几分钟多则几

resin切换日志消耗过大
最近Resin服务器总是在晚上0点负载很高,影响了正常的使用。持续时间少则几分钟多则几十分钟,便会自行恢复。当前resin版本为3.1.9 ,目前服务器上resin.conf的日志配置一般是:? <log name="" level="info" path="stdout:"
?????? timestamp="[%H:%M:%S.%s] {%{thread}} "/>
??????? <stderr-log path='/data/logs/resin/stderr.log' rollover-period='1D'/>
??????? <stdout-log path='/data/logs/resin/stdout.log' rollover-period='1D'/>

?

在这种情况下,日志始终是先输出到logs/stdout.log这样的固定文件里,每天0点,resin先 锁住所有写日志操作,将文件的内容复制到文件名带时间戳的文件里,再清空当前日志文件的内容。既多增加了磁盘io操作,也因为锁机制导致线程容易满,以至 resin被webapp监控重启。

解决方案是在输入日志时,直接输出到带日期后缀的文件中,避免了统一的日志切换操作,

如下所示:

? <log name="" level="info" path="stdout:" timestamp="[%H:%M:%S.%s] {%{thread}} "/>
??????? <stderr-log path-format='/data/logs/resin/stderr.log.%Y%m%d' rollover-period='1D'/>
??????? <stdout-log path-format='/data/logs/resin/stdout.log.%Y%m%d' rollover-period='1D'/>

?

?

热点排行