![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
问题排查
zl1zl2zl3
这个作者很懒,什么都没留下…
展开
-
无异常日志,就不能排查问题了???
小声逼逼众所周知,日志是排查问题的重要手段。关于日志设计,以及怎么根据从【用户报障】环节开始到秒级定位问题这个我们下一期说(绝非套路),这一期,主要讲一下,在没有异常日志的情况下,如何定位问题。没有日志当真能排查问题,不会是标题党吧!案例一从最大的同性交友网站中拉取【dubbo-spring-boot-project】的代码。然后把demo跑起来。本场景是由真实案例改编,因为公司代码比较复杂也不方便透露,而这个demo在github上大家都能找到,既保证了原汁原味,又能让大家方.转载 2020-07-27 08:53:13 · 273 阅读 · 0 评论 -
线上服务 FGC 问题排查,看这篇就够了!
线上服务的GC问题,是Java程序非常典型的一类问题,非常考验工程师排查问题的能力。同时,几乎是面试必考题,但是能真正答好此题的人并不多,要么原理没吃透,要么缺乏实战经验。过去半年时间里,我们的广告系统出现了多次和GC相关的线上问题,有Full GC过于频繁的,有Young GC耗时过长的,这些问题带来的影响是:GC过程中的程序卡顿,进一步导致服务超时从而影响到广告收入。这篇文章,我将以一个FGC频繁的线上案例作为引子,详细介绍下GC的排查过程,另外会结合GC的运行原理给出一份实践指南,希望对你有所转载 2020-07-20 21:42:38 · 660 阅读 · 2 评论 -
Java 应用线上问题排查思路、常用工具小结
前言本文总结了一些常见的线上应急现象和对应排查步骤和工具。分享的主要目的是想让对线上问题接触少的同学有个预先认知,免得在遇到实际问题时手忙脚乱。毕竟作者自己也是从手忙脚乱时走过来的。只不过这里先提示一下。在线上应急过程中要记住,只有一个总体目标:尽快恢复服务,消除影响。不管处于应急的哪个阶段,我们首先必须想到的是恢复问题,恢复问题不一定能够定位问题,也不一定有完美的解决方案,也许是通过经验判断,也许是预设开关等,但都可能让我们达到快速恢复的目的,然后保留部分现场,再去定位问题、解决问题和复盘。在转载 2020-07-13 09:13:04 · 611 阅读 · 0 评论 -
阿里开源那个牛哄哄问题排查工具竟然不会用?最佳实践来了!
入门步骤安装https://arthas.gitee.io/install-detail.html上述命令会下载启动脚本文件 as.sh 到当前目录,执行方式:curl-Lhttps://alibaba.github.io/arthas/install.sh|shas.sh 启动 :curl-skhttps://arthas.gitee.io/arthas-boot.jar-o~/.arthas-boot.jar&&echo"alias...转载 2020-07-08 19:44:02 · 534 阅读 · 1 评论 -
Spring Boot“内存泄漏”?看看美团大牛是如何排查的
为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM参数配置是“-XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+AlwaysPreTouch -XX:ReservedCodeCacheSize=128m -XX:InitialCodeCacheSiz转载 2020-06-01 10:42:25 · 443 阅读 · 0 评论 -
在 Java 项目中打印错误日志的正确姿势,排查问题更方便,非常实用!
在程序中打错误日志的主要目标是为更好地排查问题和解决问题提供重要线索和指导。但是在实际中打的错误日志内容和格式变化多样,错误提示上可能残缺不全、没有相关背景、不明其义,使得排查解决问题成为非常不方便或者耗时的操作。而实际上,如果编程的时候稍加用心,就会减少排查问题的很多无用功。在阐述如何编写有效的错误日志之前,了解错误是怎么产生的, 非常重要。错误是如何炼成的对于当前系统来说, 错...转载 2020-04-07 21:57:55 · 989 阅读 · 0 评论 -
震精!Spring Boot内存泄露,排查竟这么难!
作者 | 纪兵来源 |http://suo.im/5MABXL背景为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM参数配置是“-XX:MetaspaceSize=256M -X...转载 2020-04-03 17:38:37 · 522 阅读 · 0 评论 -
复工后一次百万长连接压测Nginx与OOM的问题排查分析,我裂开了!
在最近的一次百万长连接压测中,32C 128G 的四台 Nginx 频繁出现 OOM,出现问题时的内存监控如下所示。排查的过程记录如下。现象描述这是一个 websocket 百万长连接收发消息的压测环境,客户端 jmeter 用了上百台机器,经过四台 Nginx 到后端服务,简化后的部署结构如下图所示。在维持百万连接不发数据时,一切正常,Nginx 内存稳定。在开始大量收发...转载 2020-03-20 16:03:10 · 711 阅读 · 1 评论 -
分享一次 Java 内存泄漏的排查
由来前些日子小组内安排值班,轮流看顾我们的服务,主要做一些报警邮件处理、Bug 排查、运营 issue 处理的事。工作日还好,无论干什么都要上班的,若是轮到周末,那这一天算是毁了。不知道是公司网络广了就这样还是网络运维组不给力,网络总有问题,不是这边交换机脱网了就是那边路由器坏了,还偶发地各种超时,而我们灵敏地服务探测服务总能准确地抓住偶现的小问题,给美好的工作加点料。好几次值班组的小伙伴...转载 2019-11-13 09:13:37 · 181 阅读 · 0 评论 -
CPU飙高,频繁GC,怎么排查?
处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本文主要针对系统运行缓慢这一问题,提供该问题的排查思路,从而定位出问题的代码点,进而提供解决该问题的思路。对于线上系统突然产生的运行缓慢问题,如果该问题导致线上系统不可用,那么首先需要做的就是,导出jstack和内存信...转载 2019-11-08 13:32:13 · 488 阅读 · 0 评论 -
系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路
处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本文主要针对系统运行缓慢这一问题,提供该问题的排查思路,从而定位出问题的代码点,进而提供解决该问题的思路。对于线上系统突然产生的运行缓慢问题,如果该问题导致线上系统不可用,那么首先需要做的就是,导出jstack和内存信息,...转载 2019-03-24 11:16:00 · 731 阅读 · 0 评论 -
一次毕生难忘的 Java 内存泄漏排查经历
作者:yizhe原文:http://www.importnew.com/29591.html人人都会犯错,但一些错误是如此的荒谬,我想不通怎么会有人犯这种错误。更没想到的是,这种事竟发生在了我们身上。当然,这种东西只有事后才能发现真相。接下来,我将讲述一系列最近在我们一个应用上犯过的这种错误。最有意思的是,一开始的迹象揭示的问题,与实际发生的问题完全不同。在一个凄凉的午夜...转载 2018-12-19 14:45:22 · 521 阅读 · 0 评论 -
老板让我不改一行代码,定位线上性能问题!
背景最近时运不佳,几乎天天被线上问题骚扰,周六又来了一个性能问题。大致的现象是:我们提供出去的一个 OpenAPI 反应时快时慢,快的时候几十毫秒,慢的时候几秒钟才响应。 尝试解决由于这种也不是业务问题,不能直接定位。所以尝试在测试环境复现,但遗憾的是测试环境贼快。没办法只能硬着头皮上了。中途有抱着侥幸心里让运维查看了 Nginx 里 OpenAPI 的响应时间...转载 2018-12-19 14:41:39 · 482 阅读 · 0 评论