「运维」和「研发」,谁是真正造成故障的始作俑者?(开发人员在运维阶段发现系统缺陷)

网友投稿 751 2022-09-24

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

「运维」和「研发」,谁是真正造成故障的始作俑者?(开发人员在运维阶段发现系统缺陷)

事件

从图中,我们可以看到发生错误的详细 URL, 发生的时间,发生的次数,同类型错误出现的次数。通过这几个指标数据,可以分析出错误出现的频率,接下来,我们就可以通过查看提供的详细堆栈信息,来分析错误的具体原因了,如下图:

通过图中提供的跟踪详细,可以看到是字符串转换异常的错误,发生代码行是 UserServiceImpl:94 这个类中的 94 行代码报错,帮助使用者定位到出现错误的具体的代码行,这样解决问题就很简单了。

上图只是其中一种错误情况,我们接下来看错误列表中的其他错误,如下图:

通过上图,同样可以看到发生错误的详细 URL, 发生的时间,发生的次数,同类型错误出现的次数,及错误信息,从错误信息可以看出是 Redis 拒绝连接的错误,接着分析堆栈信息,如下图:

从图中可以看出是 ApplicationInstanceServiceImpl.java:66 这个类中的 66 行代码出了问题,接着去对应代码分析,最终定位出是 Redis 数据库的问题。

JVMs

JVMs 从内存,线程来分析 Application 的运行情况:

内存

Heap Memory Usage PS Gen Garbage Collection Class Count

这个四个角度来分析内存的使用情况和 GC 的回收时间及次数。

如果 Heap Memory Usage 和 PS Old Gen 的内存使用率比较多,我们可以选择扩大堆内存或者多个 JVM 堆内存独立采用负载均衡来解决。

线程

线程图展示了线程数量的动态变化,以及线程池中不同状态的线程分布。就可以很直观的分析出 Application 的并发线程的情况。

上一篇:有关npm rum的3个简洁技巧(有关学习的名言)
下一篇:想做一个完美的健身训练计划,你需要知道什么?(想做一个完美的健身训练计划,你需要知道什么知识)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~