线上故障快速定位及恢复(下)

简介: 线上故障快速定位及恢复(下)

Java线程堆栈


  • 一次线程堆栈信息

image.png

资源不足导致性能下降原因


大量线程停在同样的调用上下文中

原因

image.png


多个锁导致的锁链分析


很多线程在等待不同的锁 有的锁竞争可能由于另外一个锁对象竞争导致 需要找到根源

案例分析

image.png


WebAPI性能瓶颈


线上表现

1、连接阻塞比较多RECQ(接收的队列)
2、超时日志疯狂打印
3、通过重启webapi进程临时缓解压力


解决步骤


image.png



线上故障处理方式


  • 保留现场
比如通过jstack保存堆栈快照信息
  • 恢复服务
第一时间恢复服务 比如restart、reboot
  • 排查解决
  • 验证

常规操作

  • 重启
  • 回滚
  • 降级
  • 摘机


现象收集&故障定位

image.png

image.png

image.png

image.png

image.png

image.png

image.png


异常处理原则

错误永远无法避免 且发生的角度永远无法预期
在故障发生时尽可能维持系统核心功能的可用性
相关文章
|
SQL 监控 网络协议
线上故障如何快速排查?来看这套技巧大全
有哪些常见的线上故障?如何快速定位问题?本文详细总结工作中的经验,从服务器、Java应用、数据库、Redis、网络和业务六个层面分享线上故障排查的思路和技巧。较长,同学们可收藏后再看。
线上故障如何快速排查?来看这套技巧大全
|
4月前
|
运维 监控 定位技术
故障转移和自动恢复
故障转移和自动恢复
164 1
|
缓存 容灾 NoSQL
变形记---容灾恢复 ,异常崩溃引发服务器丢档或无法正常运行
最近我给M部门面试服务器主程序开发的职位,我只问他们的架构设计经验,我发现相当一部分5-12年“本应该有足够开发经验”的开发组长,或开发主程序缺乏设计,缺乏容错,缺乏创新,比如一些服务器宕机如何崩溃拉起恢复玩家数据,数据库的异步线程读写如何避免被其他线程写回呢,至少目前能听到合理方案的面试者的回答不多,这也是我想写这篇文章的出发点,以此来分享给大家, 不仅仅是为了应付面试,更是解决实际问题的一种思路。 如题,举例说明:游戏服务器(或者其他业务服务器)正常运行中出现了异常崩溃,可能是异常断电引发,可能是云服务商的软硬件问题引发,这种情况下,你们的服务器架构有没有做灾难恢复处理? 使得
|
监控 安全 数据安全/隐私保护
服务器数据恢复—如何预防服务器故障?发生故障后如何恢复服务器数据?
服务器常见故障: 硬件故障:磁盘、板卡、电源故障等。 软件故障:操作系统崩溃、程序运行错误等。 入侵破坏:加密、删除服务数据等。 不可控力:浸水、火烧、倒塌等。 误操作:格式化、删除、覆盖等。
|
缓存 JSON 运维
如何避免大规模线上故障
如何避免大规模线上故障
215 0
|
监控 容灾 安全
系统总出故障怎么办?
系统总出故障怎么办?
114 0
|
7月前
|
运维 监控 Java
线上故障突突突?如何紧急诊断、排查与恢复
本文简单介绍了阿里云上关于故障恢复、诊断的一些最佳实践。
线上故障突突突?如何紧急诊断、排查与恢复
|
Java Linux
线上故障快速定位及恢复(上)
线上故障快速定位及恢复(上)
232 0
线上故障快速定位及恢复(上)
|
监控
smartctl定位磁盘故障信息
​ Smartctl(S.M.A.R.T 自监控,分析和报告技术)是用于查看和检测磁盘硬件信息的工具,可以打印SMART自检和错误日志,启用并禁用SMRAT自动检测,以及初始化设备自检。服务器环境中,一般磁盘都是通过RAID卡挂载,如果配置了直通模式,则可以直接使用smartctl查询磁盘信息,如果非直通模式则需要调用raid卡对应接口才可以查询
21194 2
|
NoSQL Java Redis
线上系统打日志你了解多少?
以上文章讲述的是【Redis入门知识点】接下来我总结一下【线上系统打如何正确打日志】。