Loading

随笔分类 -  排查案例

摘要:使用mtrace追踪JVM堆外内存泄露原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。 简介 在上篇文章中,介绍了使用tcmalloc或jemalloc定位native内存泄露的方法,但使用这个方法相当于更换了原生内存分配器,以至于使用时会有一些顾虑。 经过一些摸索,发现glibc自带的ptmall 阅读全文
posted @ 2023-09-23 20:38 扣钉日记 阅读(781) 评论(0) 推荐(1) 编辑
摘要:一次Java内存占用高的排查案例,解释了我对内存问题的所有疑问> 原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。 ### 问题现象 7月25号,我们一服务的内存占用较高,约13G,容器总内存16G,占用约85%,触发了内存报警(阈值85%),而我们是按容器内存60%(9.6G)的比例配置的JVM堆内存。看了下其它服务,同 阅读全文
posted @ 2023-08-26 19:46 扣钉日记 阅读(7472) 评论(7) 推荐(28) 编辑
摘要:Java服务刚启动时,一小波接口超时排查全过程> 原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。 ### 简介 我们组有一个流量较大的Java服务,每次发代码时,服务都会有一小波接口超时,之前简单分析过,发现这些超时的case仅发生在服务刚启动时,少量请求会耗时好几秒,但之后又马上恢复正常。 ### 问题 阅读全文
posted @ 2023-07-23 21:33 扣钉日记 阅读(2319) 评论(3) 推荐(6) 编辑
摘要:记一次使用gdb诊断gc问题全过程原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 上次解决了GC长耗时问题后,系统果然平稳了许多,这是之前的文章《GC耗时高,原因竟是服务流量小?》 然而,过了一段时间,我检查GC日志时,又发现了一个GC问题,如下: 从这个图中可以发现,我们GC有一些尖峰,有时会 阅读全文
posted @ 2023-02-04 18:47 扣钉日记 阅读(2272) 评论(6) 推荐(12) 编辑
摘要:请求量突增一下,系统有效QPS为何下降很多?原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 最近我观察到一个现象,当服务的请求量突发的增长一下时,服务的有效QPS会下降很多,有时甚至会降到0,这种现象网上也偶有提到,但少有解释得清楚的,所以这里来分享一下问题成因及解决方案。 队列延迟 目前的Web服务器, 阅读全文
posted @ 2023-01-16 22:40 扣钉日记 阅读(1744) 评论(4) 推荐(5) 编辑
摘要:GC耗时高,原因竟是服务流量小?原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 最近,我们系统配置了GC耗时的监控,但配置上之后,系统会偶尔出现GC耗时大于1s的报警,排查花了一些力气,故在这里分享下。 发现问题 我们系统分多个环境部署,出现GC长耗时的是俄罗斯环境,其它环境没有这个问题,这里 阅读全文
posted @ 2023-01-07 22:02 扣钉日记 阅读(810) 评论(3) 推荐(3) 编辑
摘要:一次SSL握手异常,我发现JDK还有发行版区别原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 最近,我们一个多机房部署的服务,调用方反馈有问题,在调用新加坡机房时正常,而调用印度机房则报SSL握手异常。 排查花了一些时间,同时也积累了一些经验,故记录一下,读完本文,你将了解到如下内容: SSL握手过程 SS 阅读全文
posted @ 2022-08-28 21:16 扣钉日记 阅读(495) 评论(0) 推荐(1) 编辑
摘要:接口偶尔超时,竟又是JVM停顿的锅!原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 继上次我们JVM停顿十几秒的问题解决后,我们系统终于稳定了,再也不会无故重启了! 这是之前的文章:耗时几个月,终于找到了JVM停顿十几秒的原因 但有点奇怪的是,每隔一段时间,我们服务接口就会有一小波499超时,经过 阅读全文
posted @ 2022-06-19 19:25 扣钉日记 阅读(1703) 评论(0) 推荐(3) 编辑
摘要:一次IOS通知推送问题排查全过程原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 发现问题 在上周一个将要下班的夜晚,测试突然和我打招呼,说IOS推送的修复更新上线后存在问题,后台报错。 连忙跑到测试那里看报错详情,报错如下: 重现问题 看到这个报错后,在网上搜索了一下,这种错误一般都是因为客户端不信 阅读全文
posted @ 2022-05-04 14:42 扣钉日记 阅读(629) 评论(1) 推荐(3) 编辑
摘要:神秘的backlog参数与TCP连接队列原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 这要从一次压测项目说起,那是我们公司的系统与另几家同行公司的系统做性能比拼,性能数据会直接影响项目中标,因此压力非常大。 当时甲方给大家提供了17台服务器供系统部署,并使用LoadRunner对系统进行压测,乙方有 阅读全文
posted @ 2022-03-26 20:52 扣钉日记 阅读(440) 评论(0) 推荐(1) 编辑
摘要:耗时几个月,终于找到了JVM停顿十几秒的原因原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 最近我们系统出现了一些奇怪的现象,系统每隔几个星期会在大半夜重启一次,分析过程花费了很长时间,令人印象深刻,故在此记录一下。 第一次排查 由于重启后,进程现场信息都丢失了,所以这个问题非常难以排查,像常规的jsta 阅读全文
posted @ 2022-03-26 20:46 扣钉日记 阅读(2122) 评论(0) 推荐(0) 编辑
摘要:mysql的timestamp会存在时区问题?原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 众所周知,mysql中有两个时间类型,timestamp与datetime,但当在网上搜索timestamp与datetime区别时,会发现网上有不少与时区有关的完全相反的结论,主要两种: timestamp没有时 阅读全文
posted @ 2022-03-26 18:27 扣钉日记 阅读(628) 评论(0) 推荐(1) 编辑
摘要:自底向上代码调试技巧原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 我们常使用IDE的调试功能解决程序问题,但很多同学用的是自上而下调试法,即找到一个代码入口,打上断点然后单步调试。 但一些特殊的调试场景,比如调试框架代码,在不太熟悉框架代码的情况,会因为不知道从哪个入口开始调试而 阅读全文
posted @ 2022-03-26 18:05 扣钉日记 阅读(128) 评论(0) 推荐(0) 编辑
摘要:自己能调通接口,别人调不通?原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 场景 有时我们开发了一个api接口,自己调得好好的,接口文档也写好了,但别人调用时就是有问题,而当我们调试时,发现请求根本没进来或进来了却取不到调用参数,该怎么告知对方调用姿势哪不对呢? 解决方法 对于编码新手,一般会和 阅读全文
posted @ 2022-03-26 17:20 扣钉日记 阅读(154) 评论(0) 推荐(0) 编辑