从 4 个维度剖析:影响 Java 性能的那些因素(从姑获鸟开始)

网友投稿 647 2022-09-13

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

从 4 个维度剖析:影响 Java 性能的那些因素(从姑获鸟开始)

我们可以在响应时间的总览视图中,清晰地看到4个维度「Web 事务,数据库,外部服务,后台任务」所对应的响应时间消耗情况,接下来,我们就可以针对每个维度对时间消耗情况进行深度分析。

1. Web 事务

我们可以从视图中看到缓慢 Web 事务的响应时间占比、平均响应时间、性能指数、吞吐量等等,同时,会按照耗时长短给 Web 事务做一个排序,以列表的形式展示出来,这样你就可以轻松地找出哪些 Web 事务在执行过程耗时比较长,并且可以看到所提供的 Top5 Web 事物响应时间折线图。

2. 数据库

从数据库的视图中,我们会把对数据库操作以 Table Name 和 SQL 操作类型的格式,按照响应时间耗时长短进行排序,将耗时较长的数据以列表形式展示出来,并且可以看到每次数据库操作时的平均响应时间、总响应时间以及吞吐量情况,这样就可以找出排除 Web 事务的维度外,还会有哪些耗时较长的 SQL,让你尽收眼底。 还给提供了 Top 5 数据库操作响应时间的视图,如下图所示:

通过这些图表数据,我们可以动态的看到每次数据库操作对应用性能消耗的整体情况。除此之外,我们还针对慢的数据库操作,提供了慢 SQL 的跟踪功能,如图:

3. 外部服务

通过这张图表,我们可以看到通过 WebService、Rest 等方式调用的第三方服务的平均响应时间、吞吐量,还可以看到在调用接口时所消耗的时间,并且每个外部服务调用也会提供数据视图,如下图所示:

响应时间和吞吐量图:展示该外部服务的响应时间和吞吐量变化情况

调用者时间占比图:展示调用该外部服务的事务执行时间

事务列表:展示调用该条外部服务的事务执行时间占比、响应时间和调用次数

从以上数据,我们可以得出结论,在性能消耗的角度上,耗时是主要发生在方法的调用方面,还是发生在接口那边。通过这些性能数据,我们就能够很快定位到导致应用性能问题的根本原因,再去解决问题话就会变得很轻松。

4. 后台任务

从后台任务的视图中,我们可以看到在应用程序中比较耗时的任务,包括每个任务的平均响应时间、性能指数、吞吐量、响应时间占比等等。然后,我们在后台任务这个维度中,就可以发现那些比较耗时的执行任务,并提供相应的 Top 5 后台任务响应时间,吞吐量,CPU 使用率等动态折线视图。

从上图中,我们可以找出非 HTTP 请求方法对于大量占用系统性能的瓶颈点,然后根据后台任务提供的 Top 5 响应视图,就能够直观的看到严重消耗性能的后台任务以及 CPU 的使用率和内存使用情况了。

通过后台任务性能消耗的剖析,我们还可以找出消耗资源比较严重的定时任务,对耗时的任务进行合理优化,那么应用就会变的更加流畅。

综合来讲,

通过对「Web 事务,数据库,外部服务,后台任务」 4 个维度的深度剖析,我们很容易找到影响 Java 系统缓慢的原因。在发现这些原因后,我们再去进行系统优化,整个处理问题的过程就会变的简单很多。

上一篇:开发移动 APP 时,你应注意这 5 个细节(开发移动应用(App):有何不同)
下一篇:提高日志质量的 5 大技巧(质量日志范文60篇)
相关文章

 发表评论

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