当前位置: 首页 > news >正文

线上问题排查

一:CPU飙高问题排查过程

遇到这种问题,首先是登录到服务器,看一下具体情况。

  1. 定位进程:top命令,查看CPU占用情况
  2. 定位线程:top -Hp 1893命令,查看各个线程的CPU使用情况
  3. 定位代码:printf ‘%x\n’ 转成16进制,jstack命令,查看栈信息

二:数据库连接池满排查过程

问题:然后去排查了一下SQL耗时,发现有大量的耗时SQL,并且执行耗时和锁耗时差不多是相等的
原因:乐观锁是不需要加锁的,通过CAS的方式进行无锁并发控制进行更新的。但是InnoDB的update语句是要加锁的。当并发冲突比较大,发生热点更新的时候,多个update语句就会排队获取锁。而这个排队的过程就会占用数据库链接,一旦排队的事务比较多的时候,就会导致数据库连接被耗尽。

解决思路有以下几个:
● 1、基于缓存进行热点数据更新,如Redis。
● 2、通过异步更新的方式,将高并发的更新削峰填谷掉。
● 3、将热点数据进行拆分,分散到不同的库、不同的表中,减少并发冲突。
● 4、合并更新请求,通过批量执行的方式来降低冲突。(比如你有10条增加积分的操作要执行,那么你就可以算出这十条一共要加多少积分,一次性加上去)

三:线上服务器如果磁盘满了,你会如何处理?

  1. df(disk free)用于显示文件系统的磁盘空间占用情况
  2. du(disk usage)用于显示指定目录或文件占用了多少磁盘空间。
  3. 清理日志文件:先到你的应用日志目录下,看一下这些文件的大小,对于一些历史日志文件,如果已经完成ELK的采集和同步了,就可以直接rm -rf物理删除了

相关文章:

  • 年度工作计划总结述职报告PPT模版一组分享
  • 第19天-Python自动化生成PPT图文教程(基于python-pptx)
  • 5-码蹄集600题基础python篇
  • 人工智能解析:技术革命下的认知重构
  • C语言—Linux环境下CMake设置库(动态/静态)
  • 前端面经-WebGL/threeJS
  • 【Java高阶面经:微服务篇】9.微服务高可用全攻略:从架构设计到自动容灾
  • Java 实现四种单例(都是线程安全)
  • 工程优化大纲
  • 高并发架构设计之限流
  • Linux查 ssh端口号和服务状态
  • 通过 curl 精准定位问题
  • 什么是实时流数据?核心概念与应用场景解析
  • 如果教材这样讲--单片机IO口Additional Functions和 Alternate Functions的区别
  • PaddleOCR的Pytorch推理模块
  • PostgreSQL使用
  • SQL 查询来查看 PostgreSQL的各连接数
  • 海康NVR录像回放SDK原始流转FLV视频流:基于Java的流媒体转码(无需安装第三方插件ffmpeg)
  • upload-labs通关笔记-第16关 文件上传之exif_imagetype绕过(图片马)
  • 软件设计师考试需背诵知识点
  • 顶尖的锦州网站建设/广州seo排名外包
  • 淘宝网发布网站建设/南宁seo全网营销