首先从APM说起,近几年APM的产品比较火爆,各个厂家都在做相关的产品,但是功能和质量参差不齐,比较具有代表性的如Appdynamics、Dynatrace、foglight、oneAPM等等。根据我的经验APM产品必须具备如下功能才算成功:1.APM可以跟踪和监控最终用户的体验和应用程序之间的相互作用,无论在什么情况下,APM都可以根据最用户体验差的问题找到问题根源,这个原因都是由于代码造成的性能问题或者可用性问题的放大。
2.所有被监测到的根本原因都可以根据影响大小进行排序。这样一种方式就可以很简单的区分问题的严重性,根据对最终用户影响的数目进行排序的。
3.从一个模块到另一个模块之间的调用关系和参数一目了然。这样让运维人员轻松的看到整个流程的性能缓慢在哪一个阶段上,再具有针对性的查找问题。
根据多年的中间件运维经验,总结梳理系统性能低下的可能原因分析和查找的思路如下,供大家参考:
(图片可以点击放大观察)