线上服务可用性骤降追查
背景
下午五点多收到某线上服务可用性骤降的报警:499比例超阈值。查看监控发现服务可用性在各个idc均有下降;服务500错误码比例飙升。
问题追查
- 登上(刚开始还可以远程登录)单台机器查看PHP的Fatal日志:某脚本执行时间超过php-cgi最大执行时长(30s)。查看该脚本发现该脚本在特殊场景下会触发死循环,造成php-cgi进程一直在执行,直到达到设置的最大执行时长。
- 服务的上游有超时(1.5s)限制,超时之后会主动断开连接,最终在服务的access日志中记录499的状态码!
- 每个机器上开启了128个php-cgi进程,30s内如果有超过128个请求的话就会造成后续过来的请求没有相应的php-cgi进程进行处理,造成502!
- 查看机器的CPU,发现机器CPU负载在95%以上。
- 下午五点PM通过某平台进行了配置文件上线操作
快速止损
- 修改脚本文件,通过某平台重新上线配置文件,然而一直上线失败,机器亦无法远程登录,应该是机器CPU负载打满,机器宕机。此路不同。
- 发机器重启上线单,重启成功。可以重新登录,半分钟之后,机器再次宕机。此路不同。
- 联系OP,缩容机器,丢弃部分流量,并由OP重启机器。重启之后再次上线配置,上线成功,之后再由OP进行扩容,恢复流量,服务最终可用。
服务不可用时长达到1小时,造成全年服务可用性低于4个9。
总结
- 完善既有服务配置文件上线机制
- 加强代码上线前的code review
- 梳理服务应急预案
一次难忘的线上事故。
线上服务可用性骤降追查相关推荐
- 如何提高线上服务可用性
上一篇文章中我简单介绍了一次线上服务的可用性下降追查过程,今天我们接着上次的内容来学习如何保证服务的高可用性. 具体分为开发阶段.测试阶段.上线阶段.监控阶段等几大项.这些内容就像是一套组合拳,练好了 ...
- java - JVM 线上服务的FGC问题排查
线上服务的GC问题,是Java程序非常典型的一类问题,非常考验工程师排查问题的能力.同时,几乎是面试必考题,但是能真正答好此题的人并不多,要么原理没吃透,要么缺乏实战经验. 过去半年时间里,我们的广告 ...
- 线上服务的FGC问题排查,看这篇就够了!
线上服务的GC问题,是Java程序非常典型的一类问题,非常考验工程师排查问题的能力.同时,几乎是面试必考题,但是能真正答好此题的人并不多,要么原理没吃透,要么缺乏实战经验. 过去半年时间里,我们的广告 ...
- 【转】线上服务的FGC问题排查,看这篇就够了!
线上服务的GC问题,是Java程序非常典型的一类问题,非常考验工程师排查问题的能力.同时,几乎是面试必考题,但是能真正答好此题的人并不多,要么原理没吃透,要么缺乏实战经验. 过去半年时间里,我们的广告 ...
- JVM:线上服务的FGC问题排查
原文链接:https://blog.csdn.net/bestxianfeng163/article/details/107972060 线上服务的GC问题,是Java程序非常典型的一类问题,非常考验 ...
- 线上服务CPU100%问题快速定位实战--转
来自微信公众号 架构师之路 功能问题,通过日志,单步调试相对比较好定位. 性能问题,例如线上服务器CPU100%,如何找到相关服务,如何定位问题代码,更考验技术人的功底. 58到家架构部,运维部,58 ...
- 线上服务CPU100%问题快速定位实战(转载公众号:架构师之路)
功能问题,通过日志,单步调试相对比较好定位. 性能问题,例如线上服务器CPU100%,如何找到相关服务,如何定位问题代码,更考验技术人的功底. 58到家架构部,运维部,58速运技术部联合进行了一次线上 ...
- HH SaaS电商系统的线上服务商品库存和采购设计
文章目录 线上服务商品库存和采购整体思路 线上服务商品的采购单状态 线上服务商品的出库单状态 商家完成服务 线上服务商品库存和采购整体思路 线上服务商品直接在商品编辑页面编辑库存数量即可,服务端自动生 ...
- springboot怎么杀进程_线上服务平均响应时间太长,怎么排查?
线上服务平均响应时间太长,怎么排查? https://xie.infoq.cn/article/914b5c56000a3880016abd8d6 前言: 最近线上环境某个接口服务响应时间偏长,导致用 ...
最新文章
- 京医通如何删除临时卡,解绑
- 从java到c_怎样快速的从 Java 转到 C ?
- 走近TCP/IP协议
- 数论总结 (常用定理+ 模板)
- SQL获取上个月第一天和最后一天的时间写法
- 《JAVA与模式》之合成模式
- 每隔10秒钟打印一个“Helloworld”
- Java线程中关于Synchronized的用法
- Selector的一些state使用
- Problem E: 校庆
- 烹调方案(洛谷-P1417)
- Codeforces Round #224 (Div. 2): C. Arithmetic Progression(模拟)
- 约瑟夫环循环队列问题java_java 实现约瑟夫环
- jmeter需要学习的其他点
- 通达信自编的选股公式如何使用
- html入门教程推荐,html入门教程:8个html零基础入门教程推荐
- Elasticsearch _search查询参数及过滤
- 2509-Druid监控功能的深入使用与配置-基于SpringBoot-完全使用 .properties配置文件
- JS之replace与replaceAll
- SFC模拟器coming soon
热门文章
- 别再用音量键截屏啦,华为手机的6种截屏方法你都会吗?很方便
- w3wp.exe占用内存过高的问题
- 网页挖矿溯源?浏览器浏览历史查看工具Browsinghistoryview
- [转]鸟群是怎样自觉保持队形的
- dos下查询网络内的计算机名,dos下查看ip_dos下查看ip地址_dos查看局域网ip_dos命令查本机ip的命令...
- steam搬砖项目,长久稳定,月入5000+
- java创建线程的四种方法
- 初识「零知识」与「证明」
- 光纤光信号闪红灯_光猫的光信号灯是闪烁的红灯可能是什么原因造成的?
- IOS开发 之百度地图API环境搭建