首页 > 其他分享 >Troubleshooting 专题 - 问正确的问题 得到正确的答案

Troubleshooting 专题 - 问正确的问题 得到正确的答案

时间:2023-04-03 10:13:17浏览次数:54  
标签:专题 正确 虚拟机 中间件 问题 基础架构 Troubleshooting 应用 应用服务器

在很多公司中,IT、数据中心、业务系统一出故障,会有很多人被叫到作战室(就是一个为了解决该问题,而把所有相关人员集中在一起的一个会议室), 但是对于这个问题他们是否可以修复, 是否他们应该负有责任, 经常没有线索.

作战室

「证据」(基础架构监控数据, 日志文件, 用户投诉等等) 表明了症状, 但是与 root cause 无关. 只有很多的日志信息和高级别的告警并不会给你与这个问题根因真正相关的答案.

为了远离这种场景, 真正的「证据」应该是什么? 你应该问什么问题?

是一个用户抱怨还是所有用户都受影响?

「只是」CEO 抱怨一个问题, 因为一份 BI 报告在他的老 IE7 上无法工作? 或者「只是」使用联通上网的终端用户? 了解一个问题发生在非常小的用户群, 还是说全中国的用户都受到影响, 是重中之重.

告警世界地图

交付链(如: CDN, 第三方, ISP, 云供应商, 托管服务, 手机网络)有问题么?

当代 web 应用、移动服务、互联网服务、O2O业务等依赖一长串交付链的服务. 知道每个的影响会告诉你是否应该检查自己的数据中心, 还是说应该打电话给服务商.

关键事务是否受影响?

是否关键业务比如保险投保受到影响? 还是说报错的页面早已经不用了? 你需要监控最关键的业务性能.

是这个应用的问题么?

应用很复杂. 如果你知道问题是发生在这个应用里, 你然后需要进行故障隔离, 然后让对应的开发和架构师定位问题效率更高.

这个问题与糟糕的代码有关么?

如果客户使用加载缓慢、体验很差,应用响应时间很慢, 第一个问题应该是是否与糟糕的代码有关. 你需要分析代码级别的性能热点来找到是否原因是低效的算法还是缺乏代码和架构的最佳实践.

这个问题在虚拟机、容器、中间件...里么?

如果虚拟机(如:VMware, EC2...)或你的容器(Docker)或你的中间件或你的应用运行时(如:tomcat)没有正确的 size, 或者和其他虚拟机及容器存在资源争用也可能引起性能问题. 如果你知道虚拟机的性能影响到了应用, 你会知道引入 VM 专家, 而不是应用开发, 来解决这个问题.
容器、中间件、应用运行时同理。

是基础架构导致的问题么?

如果不是应用自身问题, 而是因为 app 运行在资源不足的基础架构上会怎样? 如果需要运行垃圾回收的 CPU 因为超用导致不可用会怎样? 那么是时候考虑拆分应用或扩展基础架构了.

是应用服务器的问题么?

因为不正确的配置或错误的部署, 应用服务器也可能是性能问题的原因. 正确的资源池(线程, 数据源等)大小, 安全配置或日志参数都会影响性能. 如果发现是应用服务器的问题, 如果是商业应用服务器,你需要联系 IBM, Oracle, 微软专家;如果是开源应用服务器,你需要联系贵司的相关中间件专家.

总结

How What Who Why

有了这些问题的答案, 你可以消除作战室, 迅速定位问题根源, 优化并找到解决方案. 所以不需要 20 人的作战室, 你只需要3个人 - 一个开发, 一个测试, 一个运维 - 评估详细的性能 insight, 并引入需要的专家. 完美!

三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.

标签:专题,正确,虚拟机,中间件,问题,基础架构,Troubleshooting,应用,应用服务器
From: https://www.cnblogs.com/east4ming/p/17282243.html

相关文章

  • 【算法专题】容斥原理
    【算法专题】容斥原理题E.DevuandFlowershttps://codeforces.com/contest/451/problem/E前置知识:隔板法然后正难则反,把至多取\(a_i\)个转化为至少取\(a_i+1\)的反问题,就能套用隔板法的公式了。答案即为:#include<bits/stdc++.h>#definelllonglongusingname......
  • 【专题】2022年中国企业ESG战略与实践白皮书报告PDF合集分享(附原数据表)
    当前,随着气候变化、新冠疫情和地缘政治等重大突发事件的冲击,公司所处的宏观环境面临着越来越多的不确定性。在中国,伴随着“双碳”目标的实施和“共同富裕”的实施,我国的经济增长方式正在转向一种新的、同时也是一种生态与福利并重的增长方式。在这种情况下,ESG成为了许多公司关注的......
  • 第8章 数据结构算法专题二
    线索二叉树与哈夫曼树线索二叉树线索二叉树的概念采用某种方法遍历二叉树的结果是一个结点的线性序列。修改空链域改为存放指向结点的前驱和后继结点的地址。这样的指向该线性序列中的”前驱“和”后继“的指针,称作线索(thread)。创建线索的过程称为线索化。线索化的二叉......
  • SAP UI5 XML 视图中数据绑定路径语法的难点和易混淆点的专题讲解
    本教程我们花费了四个篇幅的文章,讲解了SAPUI5XML视图里控件的数据绑定的语法:SAPUI5应用开发教程之七-JSON模型初探SAPUI5应用开发教程之八-多语言的支持SAPUI5应用开发教程之十七-聚合绑定在UI5复合控件中的使用SAPUI5应用开发教程之十八-SAP......
  • 即时通讯技术文集(第11期):IM通信格式的选型及Protobuf专题 [共16篇]
    为了更好地分类阅读52im.net总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第11 期。[- 1 -] 如何选择即时通讯应用的数据传输格式[链接] http://www.5......
  • 正确做事的“法门”,一篇资深专家对 SRE 稳定性总结
    前言在技术工作中,对于产品/基础技术研发和SRE两种角色,通常会有基于「是否侧重编码」的理解。对于产品研发转做SRE,经常会产生是否要「脱离编码工作」的看法,或者认为是否......
  • Tiktok跨境电商如何使用Tiktok加速器正确运营账号?
    TikTok跨境电商是指在TikTok上销售海外商品,吸引海外观众进行购买。正确运营TikTok跨境电商需要注意以下几点: 1、确定你的目标市场:在进行跨境电商之前,你需要确定你的目标......
  • 【LeetCode滑动窗口专题】水果成篮 + 最小覆盖子串(hard)
    二刷刷到滑动窗口,发现有一些细节和遗漏,在此补充实际上关于滑动窗口的题还有一题:最小长度的子数组进入正题水果成篮LeetCode904水果成篮你正在探访一家农场,农场从左到......
  • 如何保障ETL过程的数据正确性。这个过程会产生哪些问题?
    保障ETL过程的数据正确性可以从以下几个方面考虑:数据源的质量:ETL过程的数据质量取决于数据源的质量,因此需要对数据源进行充分的验证和清洗,确保数据的准确性、完整性和一......
  • 学习Linux命令的正确姿势
    大家好,我是良许。大家应该注意到了,最近我的公众号文章末尾都挂着自己录制的《Linux命令从小白到大神》课程。这个课程我从开始录制到制作完成,足足花了一个半月。如果加上......