- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
线上故障是技术成长中不可避免的一部分,我们从中能够吸取宝贵的教训并变得越来越有经验。然而, 并非每个团队或技术同学都能以合理和科学的方式处理故障 。基于日常实际工作经验和个人心得,我整理了一份团队遇到故障问题或者疑似问题快速排查的三字经清单及正确✅案例和错误❌案例。这份清单将帮助你在遇到问题时进行快速排查, 无需担心在高压环境下忙中出错,遗漏关键步骤环节 。 掌握这份清单,你将能够更好地掌控现场 ,从而避免因疏忽而造成的损失。让我们面对故障时保持冷静,有条不紊地进行排查,不断提升我们的技术水平和问题解决能力.
备注:下面不是严格的顺序,需要根据实际情况调整可多路并行,比如清楚问题大概环节,先止血。如不清楚,报备分工,初步定位大概环节再快速止血.
在故障处理过程中采取的所有手段和行动,一切以恢复业务为最高优先级,恢复现场快速止血方案高于寻找故障原因等其他所有环节.
别慌张,先报备 。
先组会,明分工 。
描现象,非结论 。
先止血,再定位 。
看监控,看日志 。
找规律、先试验 。
看输入,看输出 。
留现场,时反馈 。
1、在处理紧急事件(线上问题或者疑似问题)时, 先把问题上报组内 .
2、 充分发挥团队的力量 ,通过集思广益的方式,可以更加快速地找到问题的根源,并采取相应的措施进行解决.
✅正例:
❌反例:
1、故障指挥官(问题发现人或者小组长/架构),有权召集相应的业务、产品、开发或其它必要资源,快速组织会议.
2、 故障指挥官明确各角色职责,分工明确 ,这样可以有效地提高故障处理的效率.
✅正例:
❌反例:
1 、让问题发现者描述发现的现象(时间、影响范围、影响程度),而不是判断的结论(因为判断的结论可能是错误的,这样会误导大家排查方向) 。
2、请大家避免在描述问题现象时,过多地表达自己的判断和看法,因为这可能会影响到大家的排查方向。我们需要保持客观和理性的态度,以便更好地分析问题.
3、同时,也请大家注意自己的思维方式, 避免让自己的大脑成为别人思想的跑马场 。在讨论问题时,我们可以提出自己的观点和建议,但请确保这些观点是基于事实和证据的,而不是个人的主观臆断.
✅正例:
假设在一个软件开发团队中,当遇到一个性能问题时,问题发现者描述了如下现象:
在这个例子中,问题发现者提供了具体的现象信息,使得团队成员能够迅速定位问题所在,并采取相应的措施进行优化和修复.
❌反例:
假设在一个软件开发团队中,当遇到一个性能问题时,问题发现者仅给出了自己的判断结论:
在这个例子中,问题发现者没有提供具体的现象信息,而是仅仅给出了自己的判断结论。这可能会导致团队成员在排查问题时产生困惑, 无法准确地找到问题的根源。同时,由于判断结论可能是错误的,这也可能误导团队成员,导致他们在排查问题上浪费时间和精力.
1、在故障处理过程中采取的所有手段和行动, 一切以恢复业务为最高优先级,恢复现场止血方案高于寻找故障原因 .
2、快速止血:我们可以采用开关技术、回滚技术等手段,迅速恢复系统功能,避免服务中断.
3、日常应急预案:请大家提前制定好应急预案,包括关键业务的容灾策略、故障切换流程等,以便在发生故障时能够迅速启动预案,降低故障对业务的影响.
4、请大家在故障处理过程中,不要过于关注故障原因的寻找。虽然找到故障原因是解决问题的关键,但在紧急情况下,我们需要优先考虑如何快速止血,恢复业务。只有在确保业务稳定运行的前提下,我们才能有更多的时间和精力去深入分析故障原因,从根本上解决问题.
✅正例:
❌反例:
1、收集和分析UMP性能指标、Logbook错误日志、MDC系统运行状态等信息,以便更准确地判断问题所在.
2、与相关团队进行沟通,共同分析问题原因,制定解决方案。在解决问题的过程中,要保持冷静和耐心,遵循故障处理的最佳实践,确保问题得到及时有效的解决.
✅正例:
❌反例:
1、通过各种监控工具,如UMP(流量、tp99、可用率)和日志分析, 我们可以查找规律并了解系统在上线前后的表现。比如,我们可以对比昨天、上周的日志数据 ,看看是否也存在类似的问题。同时, 我们还可以监测UMP流量的变化,以判断系统是否受到异常的影响 .
2、如果我们发现之前也存在类似的疑问点,那么这可能意味着问题与今天的上线无关。我们需要继续深入研究,找出根本原因.
3、对于每一个疑问点,我们 应该按照优先级进行试验和验证 。这样可以确保我们首先解决最关键的问题,避免影响系统的正常运行.
4、如果在试验过程中发现问题仍然存在,我们 应该及时调整方案并重新进行试验 。这样可以帮助我们更快速地找到问题的根源,并采取相应的措施进行修复.
5、在整个排查过程中,我们应该保持沟通和协作。如果遇到困难或不确定的情况,可以与其他团队成员交流,共同解决问题.
✅正例:
❌反例:
1、首先, 确认需要比对的输入和输出参数 。这些参数可能包括请求参数、响应数据等。确保你清楚地知道需要比对的内容。在比较过程中,注意观察参数值的差异。如果发现有差异,进一步分析可能的原因,例如参数传递错误、接口逻辑问题等.
2、如果发现问题是由于接口逻辑导致的,可以尝试某N台机器回滚到之前的版本,然后再次测试接口是否正常工作。如果问题仍然存在,可能需要进一步排查并修复代码.
3、根据比对的结果和排查的过程,总结经验教训,提出改进建议,以避免类似问题再次发生.
✅正例:
❌反例:
1、在进行故障排查和处理时,保留现状并记录已采取的措施和尝试过的解决方法是非常重要的(比如不要全部机器都重启,可保留1台现场机器) 。
2、详细地记录下来包括已采取的措施和尝试过的解决方法.
3、没有进展也是进展,也要及时反馈.
✅正例:
❌反例:
如果你发现我提供的信息有误或者有更加合适的清单,请随时指正并且联系我补充完善。非常感谢你的反馈和帮助!我将尽快进行修正并提供更准确的信息.
作者:京东物流 冯志文 。
来源:京东云开发者社区 自猿其说Tech 转载请注明来源 。
最后此篇关于【稳定性】揭秘团队快速排查问题的三字经,你学会了吗?的文章就讲到这里了,如果你想了解更多关于【稳定性】揭秘团队快速排查问题的三字经,你学会了吗?的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
前言 TimerQueue 是.NET中实现定时任务的核心组件,它是一个定时任务的管理器,负责存储和调度定时任务。它被用于实现很多 .NET 中的定时任务,比如 System.Threadin
网站服务器这类问题我相信很多朋友讲过,但为什么他和网站优化还有关系呢?那么请您读读我写的没有文笔的文章,看看是否有所认同。 是的,服务器其实也是一个优化网站的最大杀手也是最大帮手,现今万网与阿里云
这个问题在这里已经有了答案: How does XPath deal with XML namespaces? (2 个回答) 5年前关闭。 我有这个 XML
在我们工作中无数次点击鼠标的时候,你有思考过鼠标是怎么工作的吗?在购买鼠标的时候你是怎么挑选的呢?看着那些标称的数据,你是否茫然过?那么如果小编现在说,其实每个鼠标都是一台优秀的“照相机”,你会相信
在 this question海报询问如何在一行中执行以下操作: sub my_sub { my $ref_array = shift; my @array = @$ref_array
我正在尝试了解 Javascript Lambda 方法,但我仍然对非常灵活的定义方式和变量范围感到非常困惑。 例如我正在研究以下插件的代码,除了代码中还有其他部分我不太清楚,我感兴趣的是代码是如何组
谁能帮我揭开以下表达式的神秘面纱: ++[[]][+[]]+[+[]] 我的理解从左到右: ++[[]]:不确定这将评估什么以及如何评估。 [+[]]:+[] 将首先执行,一元运算符将尝试将 [] 转
在 python 中,可以在多个进程之间共享 ctypes 对象。但是我注意到分配这些对象似乎非常昂贵。 考虑以下代码: from multiprocessing import sharedctype
我目前对 Glassfish 3.1.2.2 处理 EJB 的方式感到困惑。 我有一个 OSGi 项目,它由许多 OSGi 包(jar)组成。此外,还有一些 WAR,包括 Tapestry Web 应
这些天我在玩线程库并尝试实现一些功能。其中一个教程说要运行程序使用: gcc -lpthread -lrt -lc -lm project1.c scheduler.c -o out 首先我需要深入了
如 app.secret_key未设置,Flask 将不允许您设置或访问 session 字典。 这就是flask user guide has to say在这个问题上。 我对 Web 开发很陌生,
Ruby on Rails 新手问题... 考虑以下代码(在 View 中): | | 在 ERB 标签中调用的一些方法对我来说就像魔法一样,我正试图揭开它们的神秘面纱。如果我不了解代码
HTTPS 是建立在 SSL/TLS 传输层安全协议之上的一种 HTTP 协议,相当于 HTTPS = HTTP + SSL/TLS。第一篇文章 “HTTPS - 通俗易懂的阐述 HTTPS 协
本周新 Xcode 3.2.1 中包含的自述文件内容如下: 静态代码分析通过“构建”菜单下的“构建和分析”选项或通过自定义build设置完全集成在 Xcode IDE 中 GCC 4.2 是 10.6
是的,我知道。关于 NSOperation 世界有很多问题和答案,但我仍然有一些疑问。我会尝试用两部分的问题来解释我的疑虑。它们相互关联。 在 SO 帖子中 nsoperationqueue-and-
运行后,我看到我的应用程序在 TaskMgr 中占用了 3.5Gb 我在 Windbg 中看到的内容有点令人困惑: 0:022> !address -summary ProcessParametrs
我是一名优秀的程序员,十分优秀!