3天查找循环打印日志的记录--续0705日志

0706周五,上午紧急借调测试任云。但是没有效果。经协商,同意把代码放入生产(异步写入单独的一台数据库)。下午14.30-15.30之间,数据库压力太大,数据库宕机。经DBA恢复后,查找了十几处还是没能发现问题所在

临时更换Redis集群+加上定时统计 + 设置5分钟的过期时间。能支撑数据了,统计出50多处,优化十余处,可还没发现根本问题。

审查员周六日休息,无法配合。晚上加班,14个人统一查各个不同包下的代码,涉及出问题的4个子系统。我负责31027个文件。666

0707 无果。

0708在jsp里面y有段循环<%w%><%h%>....等写的循环。循环常量1000W次里面异步执行设置线程最高优先级打印日志,同时降低之前所有的线程级别。

真的牛逼,这都能想得到。

20160808日提交的代码,在一个不常用的交易指定错误数据触发条件下,执行里面循环1000W次。如果不是有文件日志监控系统否则根本发现不了这段非法代码。从用户反应到我们复现问题之间的10分钟里面日志最快执行其他线程等待,这段代码走完,其他线程继续执行,用户的操作在MQ队列中等待,覆盖之前的问题,不留痕迹。这个手法,真的厉害。

总结

如果把日志放到数据库里,就不会出现这个问题了。论数据持久化的重要性。

以后自己定义系统,尽量不要采用轮询的方式,如果非要轮询,则以时间为标准(至少3个工作日)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值