- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
在很多公司中,IT、数据中心、业务系统一出故障,会有很多人被叫到作战室(就是一个为了解决该问题,而把所有相关人员集中在一起的一个会议室), 但是对于这个问题他们是否可以修复, 是否他们应该负有责任, 经常没有线索. 。
「证据」(基础架构监控数据, 日志文件, 用户投诉等等) 表明了症状, 但是与 root cause 无关. 只有很多的日志信息和高级别的告警并不会给你与这个问题根因真正相关的答案. 。
为了远离这种场景, 真正的「证据」应该是什么? 你应该问什么问题?
「只是」CEO 抱怨一个问题, 因为一份 BI 报告在他的老 IE7 上无法工作? 或者「只是」使用联通上网的终端用户? 了解一个问题发生在非常小的用户群, 还是说全中国的用户都受到影响, 是重中之重. 。
当代 web 应用、移动服务、互联网服务、O2O业务等依赖一长串交付链的服务. 知道每个的影响会告诉你是否应该检查自己的数据中心, 还是说应该打电话给服务商. 。
是否关键业务比如保险投保受到影响? 还是说报错的页面早已经不用了? 你需要监控最关键的业务性能. 。
应用很复杂. 如果你知道问题是发生在这个应用里, 你然后需要进行故障隔离, 然后让对应的开发和架构师定位问题效率更高. 。
如果客户使用加载缓慢、体验很差,应用响应时间很慢, 第一个问题应该是是否与糟糕的代码有关. 你需要分析代码级别的性能热点来找到是否原因是低效的算法还是缺乏代码和架构的最佳实践. 。
如果虚拟机(如:VMware, EC2...)或你的容器(Docker)或你的中间件或你的应用运行时(如:tomcat)没有正确的 size, 或者和其他虚拟机及容器存在资源争用也可能引起性能问题. 如果你知道虚拟机的性能影响到了应用, 你会知道引入 VM 专家, 而不是应用开发, 来解决这个问题. 容器、中间件、应用运行时同理.
如果不是应用自身问题, 而是因为 app 运行在资源不足的基础架构上会怎样? 如果需要运行垃圾回收的 CPU 因为超用导致不可用会怎样? 那么是时候考虑拆分应用或扩展基础架构了. 。
因为不正确的配置或错误的部署, 应用服务器也可能是性能问题的原因. 正确的资源池(线程, 数据源等)大小, 安全配置或日志参数都会影响性能. 如果发现是应用服务器的问题, 如果是商业应用服务器,你需要联系 IBM, Oracle, 微软专家;如果是开源应用服务器,你需要联系贵司的相关中间件专家. 。
有了这些问题的答案, 你可以消除作战室, 迅速定位问题根源, 优化并找到解决方案. 所以不需要 20 人的作战室, 你只需要3个人 - 一个开发, 一个测试, 一个运维 - 评估详细的性能 insight, 并引入需要的专家. 完美.
三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写. 。
最后此篇关于Troubleshooting专题-问正确的问题得到正确的答案的文章就讲到这里了,如果你想了解更多关于Troubleshooting专题-问正确的问题得到正确的答案的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我有这个gradle命令行,可以完美地工作: /gradle app:testalldevicesproductionenv -Pandroid.testInstrumentationRunnerAr
因此,我使用 NativeBase 作为组件框架来开发 React Native 应用程序。 我正在使用卡片组件。 这是我的代码: render(){ return(
假设我有这样的Kotlin代码: val var1:String? = isVar1Present() val var2:String? = isVar2Present() val var3:Stri
我想要一些有关当前正在使用的程序的指导,如果用户两次输入相同的值,我已经成功创建了一对整数并处理了异常。我一直坚持执行创建对的相同过程,但不是整数,它必须是字符串。 我的一个建议是更改有序对的随机生成
我的 node.js e2e 测试有问题。我想等待 2 个 promise 解决。但由于某种原因,当我使用 Q.all 时,它只是卡住了我的应用程序。我正在使用 kriskowal 的 Q 1.0.0
实际上我已经开发了使用 Hdfs 存储图像的应用程序。现在我想迁移服务器并在新服务器中再次设置 hadoop。我如何将 HDFS(旧服务器)中的图像文件备份到新服务器中的 HDFS? 我尝试使用 Co
我想在GCP上建立一个完全自动化的CI / CD管道。在Cloud Build中,我已经有了一个cloudbuild.yaml,它可以构建Dockerfile并将构建的Docker镜像推送到Conta
我刚刚开始使用Docker,并能够使用Ubuntu 14.03 / LXDE / VNC设置Docker镜像,由于我可以从外部连接到VNC服务器,因此可以很好地工作。 现在,我试图理解Docker的网
我有 Talend Studio Data Intergration 6.2.1。作业导出为 .war,作为 Web 服务在服务器上执行。 我的问题是,有什么方法可以找出哪个应用程序调用我的 ws?
这个问题在这里已经有了答案: Why is super.super.method(); not allowed in Java? (22 个答案) 关闭 9 年前。 我怀疑我想做的事情是否可行。我有
我似乎无法找到正确的方式来表达这一点以进行 Google 搜索。 当我使用 q.all 并且只有一两个失败时(在 Node.js 中)会发生什么。我需要为我使用 Promise 的所有成功实例输入 .
Closed. This question needs to be more focused. It is not currently accepting answers. Learn more。 想
我已经整理了一个宏,它允许我将数据从一张表存档到另一张表,但是我无法让它在之后清除信息。第一列包含我不想清除的数字,现在它只是清除 B 列中的数据。 如果有人可以看看这个,我会非常感激。 'Sub a
我有一个 C# 程序可以从 .txt 文件创建 Excel 文件报告。 它工作完美,但有时(经常)当我打开一个电子表格时,Excel 会打开 2 个电子表格: 1 我保存的文件。1 有一些名为“Pla
为什么不玩 onclick="catch()"?我不明白。 function catch () { alert("safsf"); } ... 最佳答案 catch 是
在 Q 中,有哪些方法可以在 where 子句中使用嵌套查询的结果? 我正在寻找类似于 SQL 语句的内容。 select from food where type_id in ( selec
虽然这段代码可以工作: var promise = function(val) { var _val = val; return setTimeout(function(_val) {
自Mozilla和Google宣布,他们打算将来使用默认设置通过HTTPS激活DNS,并且IETF正式批准了该草案(https://datatracker.ietf.org/wg/doh/about/
OnClickListener 无法与 ScrollView 一起使用,因为“扩展了 Fragment”。我该如何使用它呢?一个例子就足够了。谢谢.. 更新Fragment1.java package
char name[20]=""; char address [50]= ""; do{ printf("Input your name [1..20] : "); scanf("%s
我是一名优秀的程序员,十分优秀!