
故障
zl1zl2zl3
这个作者很懒,什么都没留下…
展开
-
醉了,RPC 超时设置也能引起线上事故!
上面这张监控图,对于服务端的研发同学来说再熟悉不过了。在日常的系统维护中,『服务超时』应该属于监控报警最多的一类问题。尤其在微服务架构下,一次请求可能要经过一条很长的链路,跨多个服务调用后才能返回结果。当服务超时发生时,研发同学往往要抽丝剥茧般去分析自身系统的性能以及依赖服务的性能,这也是为什么服务超时相对于服务出错和服务调用量异常更难调查的原因。这篇文章将通过一个真实的线上事故,系统性地介绍下:在微服务架构下,该如何正确理解并设置RPC接口的超时时间,让大家在开发服务端接口时有更全局的视野。内..转载 2020-08-11 21:31:41 · 276 阅读 · 0 评论 -
病毒与故障:漫谈计算机软件的故障应对
作者 | 梁桂钊出品 | 服务端思维近期肆虐的新型冠状病毒,已然成为大众视野的焦点。笔者,最近趁过年之际也看了一些相关新闻和书籍,其中,有一本名为卡尔·齐默《病毒星球》让我印象深刻。当然,本文并不是谈及新型冠状病毒和《病毒星球》,而是将故障和病毒进行类比,聊一聊计算机软件的故障应对机制,而其中关于病毒相关科普性的资料和数据来自于《病毒星球》一书。一、故障:潜伏于计算机软件的病毒...转载 2020-05-06 08:52:58 · 453 阅读 · 0 评论 -
故障中的跨年夜
2019 年 12 月 31 日晚,我正在公司门口准备打车回家,因为想跟家里人一起过个跨年夜。望着灯光四射的广州塔,脑海里突然出现了 2012 年跨年夜的场景。那时候也是 12 月 31 日晚, 也有出租车, 也有广州塔,还有一个跨年的故障。我记得当晚,我们一帮同学四人,约好了去广州塔倒数,毕竟还年轻,对跨年倒数这个事情还蛮热衷的。说好了,他们三个搭出租车,到我楼下的路口来接我。那...转载 2020-01-02 17:59:06 · 273 阅读 · 1 评论 -
记一次找因 Redis 使用不当导致应用卡死 bug 的过程
首先说下问题现象:内网sandbox环境API持续1周出现应用卡死,所有api无响应现象刚开始当测试抱怨环境响应慢的时候 ,我们重启一下应用,应用恢复正常,于是没做处理。但是后来问题出现频率越来越频繁,越来越多的同事开始抱怨,于是感觉代码可能有问题,开始排查。首先发现开发的本地ide没有发现问题,应用卡死时候数据库,redis都正常,并且无特殊错误日志。开始怀疑是sandbox环境机器问题...转载 2019-11-13 10:16:28 · 303 阅读 · 0 评论 -
凌晨1点突发致命生产事故!看的我惊心动魄…
文章转载自公众号纯洁的微笑,作者 微笑很纯洁“有一个读者问我:你认为一个程序员具备什么样的能力,才算得上是厉害的程序员?我答:拥有解决问题的能力的程序员。这个回答貌似有点抽象,不要紧看下面的文章你会慢慢有所了解。图片来自 Pexels解决问题的能力很多年前,当我还是一个小菜鸟的时候,我的领导经常告诉我,解决问题的时候,不要局限于技术本身,并且形象的给我举了一个例子。有一次两...转载 2019-08-05 09:23:01 · 436 阅读 · 1 评论 -
又一次生产 CPU 高负载排查实践
本文经授权转载自微信公众号:crossoverJie前言前几日早上打开邮箱收到一封监控报警邮件:某某 ip 服务器 CPU 负载较高,请研发尽快排查解决,发送时间正好是凌晨。其实早在去年我也处理过类似的问题,不过本次问题产生的原因却和上次不太一样,大家可以接着往下看。问题分析收到邮件后我马上登陆那台服务器,看了下案发现场还在(负载依然很高)。于是我便利用这类问题的排查套...转载 2019-06-30 15:31:01 · 330 阅读 · 0 评论 -
一次服务器CPU占用率高的定位分析
背景通过性能监控发现上线服务器cpu某核占用率已经达到了100%,而且是由我们的某个核心服务导致的。幸亏由于我们的服务进程由多个相同worker(线程)调度承担的,所以除了CPU占用率高之外,并没有对服务造成影响。随着上次我们找到那个吃IO的罪犯,这次我们要追捕的是潜伏在团体中的特务,更加惊险刺激哟!系统环境系统环境用top命令很容易定位到是谁占用CPU最高。top命令定位C...转载 2019-07-04 09:28:03 · 1007 阅读 · 1 评论 -
一次 Java 内存泄漏排查过程,学习学习
人人都会犯错,但一些错误是如此的荒谬,我想不通怎么会有人犯这种错误。更没想到的是,这种事竟发生在了我们身上。当然,这种东西只有事后才能发现真相。接下来,我将讲述一系列最近在我们一个应用上犯过的这种错误。最有意思的是,一开始的迹象揭示的问题,与实际发生的问题完全不同。在一个凄凉的午夜午夜刚过,我就被一条来自监控系统的警报吵醒了。Adventory,我们的 PPC (以点击次数收费)广告系统中...转载 2019-07-03 09:17:01 · 362 阅读 · 1 评论 -
一次心惊肉跳的服务器误删文件的恢复过程
经历了两天不懈努力,终于恢复了一次误操作删除的生产服务器数据。对本次事故过程和解决办法记录在此,警醒自己,也提示别人莫犯此错。也希望遇到问题的朋友能找到一丝灵感解决问题。事故背景安排一个妹子在一台生产服务器上安装Oracle,妹子边研究边安装,感觉装的不对,准备卸载重新安装。从网上找到卸载方法,其中要执行一行命令删除Oracle的安装目录,命令如下:rm-rf$ORACLE_...转载 2019-06-03 19:36:48 · 475 阅读 · 0 评论 -
源码实战 | 本地可跑,上线就崩?慌了!
前言上周一好友向我反馈一个问题,他们项目在本地是可以跑的,但是在线上环境,就报错.报错日志如下:Couldnotfindresultmapcn.mycs.server.persistence.dao.UserMapper.BaseResultMap说实话,我每天这么忙,看到这种直接丢个异常出来的根本不想理.但是他一句话彻底改变了我的想法.首先出现了这几个关键词....转载 2019-04-29 14:08:36 · 422 阅读 · 1 评论 -
生产环境JVM内存溢出案例分析
如果我们所在公司的业务量比较大,在生产环境经常会出现JVM内存溢出的现象,那我们该如何快速响应,快速定位,快速恢复问题呢?本文将通过一个线上环境JVM内存溢出的案例向大家介绍一下处理思路与分析方法。案例:架构组接到某项目组反馈,Zabbix监控上显示JMX不可用,请求协助处理。分析思路: JMX不可用,往往是由于垃圾回收时间停顿时间过长、内存溢出等问题引起的。 线上故障...转载 2019-04-07 15:52:00 · 583 阅读 · 0 评论 -
线上 CPU100% 异常案例:一个正则表达式引发的血案
前几天线上一个项目监控信息突然报告异常,上到机器上后查看相关资源的使用情况,发现 CPU 利用率将近 100%。通过 Java 自带的线程 Dump 工具,我们导出了出问题的堆栈信息。我们可以看到所有的堆栈都指向了一个名为 validateUrl 的方法,这样的报错信息在堆栈中一共超过 100 处。通过排查代码,我们知道这个方法的主要功能是校验 URL 是否合法。很奇怪,一个正则表达式...转载 2019-02-24 17:04:06 · 697 阅读 · 1 评论 -
一次生产 CPU 100% 排查优化实践
本文转载自微信公众号:crossoverJie前言到了年底果然都不太平,最近又收到了运维报警:表示有些服务器负载非常高,让我们定位问题。还真是想什么来什么,前些天还故意把某些服务器的负载提高(没错,老板让我写个 BUG!),不过还好是不同的环境互相没有影响。 定位问题拿到问题后首先去服务器上看了看,发现运行的只有我们的 Java 应用。于是先用 ps 命令拿到了应用的 ...转载 2018-12-25 09:52:37 · 796 阅读 · 0 评论 -
强如 Disruptor 也发生内存溢出?
前言OutOfMemoryError 问题相信很多朋友都遇到过,相对于常见的业务异常(数组越界、空指针等)来说这类问题是很难定位和解决的。本文以最近碰到的一次线上内存溢出的定位、解决问题的方式展开;希望能对碰到类似问题的同学带来思路和帮助。主要从表现-->排查-->定位-->解决 四个步骤来分析和解决问题。表象最近我们生产上的一个应用不断的爆出内存溢出,并且随...转载 2018-12-25 09:42:41 · 744 阅读 · 0 评论 -
深入JVM彻底剖析前面ygc越来越慢的case
阿里JVM团队的同学帮助从JVM层面继续深入的剖析了下前面那个ygc越来越慢的case,分析文章相当的赞,思路清晰,工具熟练,JVM代码熟练,请看这位同学(阿里JVM团队:寒泉子)写的文章,我转载到这。 Demo分析虽然这个demo代码逻辑很简单,但是其实这是一个特殊的demo,并不简单,如果我们将XStream对象换成Object对象,会发现不存在这个问题,既然如此那有必要进...转载 2018-11-23 08:55:04 · 666 阅读 · 0 评论 -
上篇文章中ygc越来越慢的case的原因解读
上篇文章中附加了一个最近碰到的奇怪的case,有位同学看到这个后周末时间折腾了下,把原因给分析出来了,分析过程很赞(无论是思路,还是工具的使用),非常感谢这位同学(阿里的一位同事,花名叫彦贝),在征求他的同意后,我把他写的整个问题的分析文章转载到这里。文里图比较多,手机上不方便看的话,建议大家电脑上直接访问http://hellojava.info看。上分析工具VisualVM在解...转载 2018-11-23 08:52:33 · 657 阅读 · 0 评论 -
一个jstack/jmap等不能用的case
今天一个同学问我:"我排查问题时总是遇到,jmap -heap或-histo 不能用,是不是我们机器配置有啥问题哇? " 分享下这个case的解决过程。登上同学说的那台不能用的机器,执行jstack,报错:“get_thread_regs failed for a lwp”这个问题以前碰到过,但忘了当时是什么原因了,执行其他的jmap -histo什么也卡着不动。既然jst...转载 2018-11-23 08:51:05 · 2927 阅读 · 0 评论 -
从一个故障说说Java的三个BlockingQueue
最近出了个故障,排查的时候耗费了很长的时间,回顾整个排查过程,经验主义在这里起了不好的作用,直接导致了整个故障排查的时间非常长,这个故障的根本原因在于BlockingQueue用的有问题,顺带展开说说Java中常用的几个BlockingQueue:ArrayBlockingQueue、LinkedBlockingQueue和SynchronousQueue。当时故障的现象是应用处理请求的线...转载 2018-11-23 08:49:56 · 480 阅读 · 0 评论