最近开发了一版kafka消费存redis的代码,部署到客户现场后发现经常跑着跑着cpu占用特别高,把代码里面所有数据库交互操作去除后依然还是会出现该问题。
2.1、微服务kafka配置问题:

(1)、最大拉取数过大,原先配置文件默认拉取5000条,而此次修改的的能耗计算在消费时做的操作变多,有可能出现超过自动提交时间还未处理完这次拉取数据的情况。
(2)请求超时时间与自动提交时间设为一样,因为问题(1)的原因,可能出现一次拉取处理时间达到自动提交时间还未处理完,消费者心跳过期,离开消费组从而失去该消费组消费数据的情况。也就是问题发现中服务可以正常访问但不进行消费的出现原因。
(3)spring.boot.kafka.concurrency配置,此配置是用来设置消费者的线程数,建议与当前topic的分区数保持一致。
2.2、代码问题:
(1)、查看linux线程后发现微服务仍在运行,但通过查看服务运行参数发现服务cpu占用率达到790%左右。通过脚本间隔20秒打印一次服务器cpu保存到位置,而后与微服务日志进行比对,发现每次代码每次报错时cpu均会达到95%以上,检查代码后发现kafka消费未进行异常捕获,解决了该报错同时加上异常捕获后服务器cpu占用有显著下降
(2)、在kaka处理逻辑中存在入库操作,且写在了遍历中,开发时预估此处触发的次数较少故未放于循环外,部署至现场后数据量较大时,会出现一次消费多次连接数据库,同时现场数据量过大,插入的表中数据量过大

记一次线上部署cpu占用大的问题分析相关推荐

  1. 线上服务器CPU占用过高?7步带你搞定

    一. 前言 在Java开发岗位的面试中,时不时会出现一些运维类的题目,其实这也反映了后端面试的一种趋势.现在企业对后端开发的要求越来越全面,不仅要求我们会写代码,还要我们能够进行部署和运维. 今天壹哥 ...

  2. 线上告警CPU使用率过高排查分析

    本文主要列举了如下几种可能造成CPU过高的场景进行排查分析. 1.代码死循环 启动了两个线程(线程一定要起一个合适的名称,出了问题时方便排查),一个线程空循环,一个线程每500ms循环一次. publ ...

  3. cpu飙升 死循环_java排查一个线上死循环cpu暴涨的过程分析

    问题,打一个页面cpu暴涨,打开一次就涨100%,一会系统就卡的不行了. 排查方法,因为是线上的linux,没有用jvm监控工具rim链接上去. 只好用命令排查: top cpu排序,一个java进程 ...

  4. java线程堆栈nid.tid_java排查一个线上死循环cpu暴涨的过程分析

    问题,打一个页面cpu暴涨,打开一次就涨100%,一会系统就卡的不行了. 排查方法,因为是线上的linux,没有用jvm监控工具rim链接上去. 只好用命令排查: top cpu排序,一个java进程 ...

  5. 原创|面试官:线上服务器CPU占用率高如何排查定位问题?

    国外开发者平台 HankerRank 发布的 2018 年开发者技能调查报告中有一项关于"雇主最看重哪些核心能力"的调查,结果显示如下: 排名前几的比较受重视的能力分别为:解决问题 ...

  6. 记一次线上coredump事故

    转自:http://www.likecs.com/show-16439.html 记一次线上coredump事故 1.事故背景 上周三凌晨,我负责的某个模块在多台机器上连续发生coredump,幸好发 ...

  7. 服务器cpu占用率高怎么解决,线上服务器CPU占用率高怎么办?

    如果线上服务器发生CPU占用率高时,应该如何排查并定位问题. 1.问题发现 本文整理自一个真实的案例,是楼主负责的业务,在一次大促之前的压测时发现了这个问题. 在每次大促之前,我们的测试人员都会对网站 ...

  8. 记一次线上环境 redis偶尔连接超时报错 解决

    记一次线上环境 redis偶尔连接超时报错 解决 贴出本地控制台日志 说实话,很痛苦,跟进很久了,一直认为的jvm程序所使用的配置的连接池框架问题 因为程序为 springboot 2 spring ...

  9. 服务器定位cpu高占用率代码php,面试官:线上服务器CPU占用率高如何排查定位问题?,...

    面试官:线上服务器CPU占用率高如何排查定位问题?, 国外开发者平台 HankerRank 发布的 2018 年开发者技能调查报告中有一项关于"雇主最看重哪些核心能力"的调查,结果 ...

最新文章

  1. SQL 语句中 where 条件后 写上1=1 是什么意思
  2. Luogu P1073 最优贸易【最短路/建反图】 By cellur925
  3. 为安卓应用添加手势密码功能,遇到的一些问题以及解决方法
  4. c语言程序朴素贝叶斯分类器,生成式学习算法(四)之----朴素贝叶斯分类器
  5. [SEO]让你的Asp.Net网站自动生成Sitemap——XmlSitemap
  6. Eclipse Server runtime设置里找不到apache tomcat的处理方法
  7. 持续集成配置之Nuget
  8. 如何开发一个可运维系统的一点体会
  9. _INTSIZEOF
  10. 《挑战不可能之加油中国》中越边境广西段扫雷队整装亮相
  11. IDEA keymap使用Eclipse copy 快捷键
  12. Altium Designer入门
  13. 云e办学习笔记(十五)Redis学习以及相关部署
  14. Props中的default
  15. 如何为Matlab添加自己喜欢的字体
  16. 02 创建一个简单的Python Web程序应用
  17. 微软签约云南 将在云南建IT学院和软件中心
  18. JavaScript之offset实现鼠标坐标获取和窗口内模块拖动-案例演示
  19. BOOTMGR is missing 简单方案
  20. 计算机项目化教学,计算机教学中项目化教学的应用的论文

热门文章

  1. 国产车规工业芯片,开发板,工业控制PLC,DCS,电力控制
  2. oracle insert into values 批量插入
  3. cpa禁用计算机型号,注意!Becker官宣:CPA Final review电脑版软件停用!
  4. windows ip冲突检查
  5. 使用开源代码搭建资产管理系统
  6. 解决eclipse中Preferences里没有Tomcat选项的问题
  7. Pytorch图片转tensor/图片转tensor转图片(numpy array)(transforms.ToTensor())(opencv形式转tensor)
  8. 【消息中间件】kafka技术探秘
  9. [图形学] 射线和线段之间的最小距离
  10. 倍福--伺服无法使能分析