美文网首页
记一次由日志引起的停服事故

记一次由日志引起的停服事故

作者: 北你妹的风 | 来源:发表于2017-12-29 10:49 被阅读11次

12月28号1上午10点,所在项目停服了半个小时。期间有在推一个红包活动。根据jstack查看堆栈日志,发现是Log4j纪录日志时发生线程阻塞,如下图所示。

线程堆栈信息

赶紧去扒拉代码,发现红包活动代码里有记录接口调用时长操作。但这是正常的日志记录,怎么会引起线程阻塞呢?

去网上一查,好多有类似的案例,看来是共性问题。

原来,log4j在写入日志文件时,为了保证写入顺序,会对资源加锁。在高并发的场景下,多个线程会竞争资源,从而导致线程阻塞。

那如何解决呢?

1.日志格式要规范,去除不必要的写日志操作,只在关键部位添加日志(输入、输出参数、异常捕获等)

2.生产环境日志级别要调到最高,一般是开启info级别

3.日志框架更换,可采用logback、log4j2来替换log4j1.x

另外,在排查过程中,发现 System.currentTimeMillis()这个操作也是比较消耗性能的。

相关文章

  • 记一次由日志引起的停服事故

    12月28号1上午10点,所在项目停服了半个小时。期间有在推一个红包活动。根据jstack查看堆栈日志,发现是Lo...

  • 记一次由^引起的bug

    前言 后台管理系统使用的UI组件是element-ui,使用的版本是2.8.2。 问题 线上使用人员反馈,最近在使...

  • pkill引起的一次事故

    背景:在宿主机上安装了俩个haproxy容器,并使用keepalived达到高可用。 情景:宿主机上安装了keep...

  • 由一条短信引起的事故(2)

    刑布阴着脸,走在走廊上,脑中回想从昨晚到刚刚发生的一切,脸色变得更沉了。他浑身散发着阴翳,大步踏着,班上的人见了,...

  • 大吉大利,今晚氪金 :“吃鸡”潇洒停服实为变现?

    5月8日一早,腾讯旗下战术竞技手游《绝地求生:刺激战场》宣布其测试服正式结束。 关于“吃鸡”游戏停服的消息立即引起...

  • 由枕头引起的一件事故

    前天,爸爸和妈妈因为一条枕头“吵架了”。 事情是这样的…… 爸爸想要那个枕头,妈妈也想要那个枕头,妈妈说: “这个...

  • 记一次事故

    在湖南省,某市,发生过这样一起交通事故。 那天刚好下着小雨,一位母亲和她的孩子有说有笑地走在马路边。孩子还小,...

  • 记一次由继承、重写和重载引发的事故

    在同时使用继承、重写和重载时,java 的调用链就会变得异常复杂,所以对这部分不了解的同学请谨慎使用 以下是示例代...

  • 全职不朽

    2050年荣耀停服,在停服发布会上,叶修 苏沐橙 韩文清 张新杰 黄少天 喻文州 王杰希等等昔日的大神最后一次用着...

  • 全职不朽

    2050年荣耀停服,在停服发布会上,叶修 苏沐橙 韩文清 张新杰 黄少天 喻文州 王杰希等等昔日的大神最后一次用着...

网友评论

      本文标题:记一次由日志引起的停服事故

      本文链接:https://www.haomeiwen.com/subject/wbwsdxtx.html