首页 > 其他分享 >对偶发接口频繁超时问题排查并解决

对偶发接口频繁超时问题排查并解决

时间:2024-11-15 17:47:08浏览次数:3  
标签:监控 排查 偶发 XX 内存 jvm pod 超时

问题排查

现象

       业务(重量级业务,比较庞大)高峰期接口偶尔频繁超时,重启机器即可恢复,或连续超时多次超时后pod内存溢出,直接触发重启后恢复。多次出现超时情况时jstack线程栈、jmap获取内存快照,对其进行分析后没明显异常。

机器配置

pod配置

pod内存: 5.1G(线上环境可配置的上线【规定】)
副本数量:15
核心数量: 3

jvm配置

-server -Xms3800m -Xmx3800m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -Xmn1125m -XX:MaxDirectMemorySize=256m -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSMaxAbortablePrecleanTime=5000 -XX:+CMSClassUnloadingEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:+ExplicitGCInvokesConcurrent -Dsun.rmi.dgc.server.gcInterval=2592000000 -Dsun.rmi.dgc.client.gcInterval=2592000000 -
无关紧要的已省略。。。

grafana大盘监控

pod监控

       请求pod内存打满后内存溢出,磁盘读速率直接飙升5,触发pod重启,重启后恢,时间一长再次出现问题

在这里插入图片描述

在这里插入图片描述

jvm监控现象

       jvm监控正常,jvm堆内存利用率较低,jvm垃圾回收无明显异常

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

问题定位

       从上述表现来看,jvm内存分配过多,给pod本身留的内存不足,导致业务高峰期pod内存逐渐被打满,临时使用磁盘充当内存,导致磁盘读飙升,请求变得异常缓慢(接口频繁超时),请求堆积多了之后,pod内存被打满甚至溢出,触发pod重启。重启后暂时恢复,过一段时间后又出现上述问题。

问题解决

如何解决?

       调低分配给jvm的内存,给pod本身多留一些内存,部署线上一台机器并持续观察,在观测到没问题后进行全量部署

修改jvm配置

3800MB -> 3000MB

-server -Xms3000m -Xmx3000m

问题解决后监控大盘表现

JVM监控

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

pod监控

在这里插入图片描述

在这里插入图片描述

标签:监控,排查,偶发,XX,内存,jvm,pod,超时
From: https://blog.csdn.net/asd1358355022/article/details/143801148

相关文章

  • 网页直播/点播播放器EasyPlayer.js网页web无插件播放器渲染页面出现倒挂的原因排查
    EasyPlayer.js网页web无插件播放器属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,无须安装任何插件,起播快、延迟低、兼容性强,使用非常便捷。EasyPlayer.js播放器不仅支持H.264与H.265视频编码格式,也能支持WebSocket-FLV、HTTP-FLV、HLS(m3u8)、WebRTC、ws......
  • 宝塔面板安装网站后打不开的解决方法及排查步骤
    1.检查网络连接确认服务器网络是否正常:从服务器上尝试ping外部网站,确保网络畅通。例如:ping域名 或 ping你的网址2.检查宝塔面板状态登录服务器,检查面板是否正常运行:使用命令 bt 进入宝塔面板管理界面。如果面板未运行,尝试启动面板:btstart3.检查网站......
  • springboot导入EXCEL数据10+浏览器等待超时问题
    解决办法异步导入法:前台js解决思路:调用导入按钮后,把前台相应的操作按钮置为不可用,每个10秒查询一次导入结果返回值,直到查询到导入成功或失败的返回值后,将后续的操作按钮置为可用状态关键代码如下:com.langyashi.dialog.asyncImportExcel({ctx:"${ctx}",......
  • mysql batch insert 慢的问题排查过程
    1,发现线上的queue入库很慢因为我发现2024-11-1412:24:22.897[][Thread-47]INFO com.hp.nova.runner.Task3NewStructRedisQueueRunner.run[93]:eisrq.getType()======3...............2024-11-1412:25:57.653[][Thread-47]INFO com.hp.nova.runner.Task3NewSt......
  • 入侵排查之Linux
    目录1.黑客入侵后的利用思路2.入侵排查思路2.1.账号安全2.1.1.用户信息文件/etc/passwd2.1.2.影子文件/etc/shadow2.1.3.入侵排查2.1.3.1.排查当前系统登录信息2.1.4.2.查询可以远程登录的账号信息2.2.历史命令2.2.1.基本使用2.2.1.1.root历史命令2.2.1.2.打开/ho......
  • 支付宝接口代签约失败排查指南
    作为服务商,需要协助没有开发能力的商家接入业务产品和开发应用的载体,经常要用到支付宝的接口代签约功能,然而在使用过程中若是遇到失败的情况,就会让本来是为了提升效率的功能反而拖慢了项目进度,今天我就来简单盘一盘接口代签约失败问题的排查思路,帮助同学快速定位问题原因,效率......
  • redisson内存泄漏问题排查
    问题描述最近生产有个服务突然出现频繁告警,接口P99响应时间变长,运维同学观察到相应的podcpu飙升,内存占用很高。cpu升高问题排查是老生常谈的话题了,一般可以使用top-ppid-H查看是哪个线程占用cpu高,再结合jstack找到对应的java线程代码。不过经验告诉我们,cpu升高还有另外一......
  • 环境部署问题排查
    部署环境步骤后端修改资源文件路径、数据库名称、密码等信息后端打包后端配置文件——服务名称、日志地址前端,与后端的接口、资源文件路径、相对nginx的文件路径(这个一般和配置文件中的对应)打包部署配置文件——监听地址(端口),服务器名称,前端地址,后端接口、静态资......
  • 一直配置排查步骤
    要排查这些导致配置过程无法停止的问题,可以按照以下步骤逐一检查和解决。这些步骤将帮助您定位问题的根源,并采取相应的措施来修复。1.检查状态机(FSM)的状态问题:状态机可能卡在某个状态(如check_LOS_alarm_state或next_config_state),导致配置过程无法继续。排查步骤:监......
  • 优化超时
    如果你使用类似于以下代码的做法,你几乎一定会得到一个运行超时的反馈。intn,m;std::cin>>n>>m;std::vectora(n+1);//类似于开一个a[n+1]的数组for(inti=1;i<=n;i++){std::cin>>a[i];}std::vectorcnt(m+1);for(inti=1;i<=n;i++){fo......