线上服务异常的定位、处理与优化的探索 - 第二章 线上服务常见问题
一.1. 常见问题列举
Ø cpu突然爆满、起飞。
Ø 服务器短暂无响应或假状态停机。
Ø 应用运行一段时间后变卡,提交请求明显速度下降。
Ø 页面响应慢,加载失败。
Ø 日志中出现大量数据库连接超时记录
Ø 某些固定时间点易发生服务停机或程序异常。
Ø 个别功能消耗资源过大影响整体速度显著下降。
Ø 打包发版后发现个别Class内函数没有按照预期逻辑执行。
一.2. 分析方法
围绕线上服务问题处理有两种最基本的分析方法:现场分析和事后分析。现场分析通过保留现场,采用诊断工具分析定位,现场分析对线上影响较大,一些场景(如关键业务运行高并发期)不太合适。事后分析则需要尽可能多收集现场数据后,然后立即恢复服务不影响业务,再针对收集的现场数据进行事后分析和复现。
一.3. 分层定位
应用层通过Java线程堆栈定位问题代码,分析代码逻辑。
数据库层通过定位死锁、分析慢SQL等。
框架层则需要理解框架机制。
JVM层需要对GC的类型和工作机制有深入了解,熟知常用的JVM参数作用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?