如何解决外部应用响应慢
1、 首先进入控制台,查看概览中的应用一览页,在应用列表中查看所添加应用的得分情况。 某一应用的响应时间较长,点击该应用进入该应用的情报汇总页面。在应用服务器响应时间堆叠图中看出外部服务的每次请求的响应时间较长,拖慢了速度。
2、 为了进一步定位问题,点击外部应用模块进行进一步查看。 外部应用是指应用通过HTTP等协议请求调用的外部应用的统称,是以当前应用使用的外部服务的维度来展示相关性能数据。包括的功能有:外部应用列表、Top5总耗时最慢的外部应用曲线图、外部应用吞吐率曲线图。
3、 外部应用支持的协议包括:HTTP、HTTPS、Thrift、Dubbo、Web service。其中HTTP与HTTPS合并显示,并在URI之后标明HTTPS的协议类型(点击协议按钮展示当前协议的详细的性能数据)。 此外还支持将数据按照响应时间占比、平均响应时间、响应总时间、吞吐率和错误率进行排序查看。这里以HTTP协议为例。
4、 在HTTP协议中,我们可以看到外部应用分为了自身服务和第三方两种。 对于内部应用之间的调用,听云Server可通过跨应用追踪功能分析到具体应用的哪个代码段造成了响应时间慢的问题。对于内部应用与第三方应用之间的调用,可以分析到具体哪个接口的响应慢,以及这个接口影响到了应用的哪些请求。
5、 第一个首先讲一下内部与内部之间的调用响应慢的定位方法。 我们点击自身服务,排序方式选择为平均响应时间。这时各个外部应用就按平均响应时间由长到短依次排列了出来,我们点击第一个平均响应时间最长的外部应用左侧的下拉按钮,就会显示出其中各个URL的平均响应时间。点击该外部应用进行进一步数据钻取,可以看到外部服务平均响应时间及吞吐率折线图,图中展示了选定时间内平均响应时间和吞吐率随时间的变化趋势。
6、 下面的外部服务调用者耗时百分比图表是需要重点关注的,图中显示了该外部服务在每个调用者中的耗时百分比,调用者为Web应用过程或后台任务,运用听云的跨应用追踪功能,我们可以点击图中的调用者查看其详细信息。
7、 我们点击其中一个耗时百分比最高的,这时跳转到了该调用者,也就是该Web应用过程的性能分解页面,可以看到Web应用过程分解堆叠图,图中显示了在选定时间内,Web应用过程各个组件的平均响应时间随时间的变化趋势。 下面的Web应用过程分解表格,详细显示了Web应用过程各个组件在选定时间内的性能信息方便查看。 响应时间和吞吐率图表展示了在选定时间内该Web应用过程的平均响应时间和吞吐率随时间的变化趋势。
8、 最后的慢应用过程追踪列表是需要重点关注的,我们需要在设置中对Web过程跟踪阈值进行设置(例如设置为500毫秒,那么所有响应时间大于500毫秒的请求都会被显示在慢应用过程追踪列表中)。这个阈值可根据自己的实际需求进行设置。
9、 点击列表中的项目,进入到应用过程慢追踪页面。在摘要中可以看到各个组件的响应耗时百分比图,下面还列出了各个组件详细的调用次数、持续时间、响应耗时占比数据。
10、 重点查看追踪详情,可以看到各个代码段的持续时间、时间占比和时间偏移量,其中持续时间长时间占比高的就是响应时间长的代码段,那么久需要对该代码段进行重点的优化和修改,从而解决外部应用调用响应慢的问题。 后面的相关SQL展示了其中的SQL操作以及其调用次数和总耗时,拓补图展示了相关的调用关系方便更全面的分析问题。
11、 第二个介绍内部应用与第三方应用的调用响应慢的定位。 再次回到外部应用模块,点击第三方,并且按照平均响应时间进行排序。唁昼囫缍这时所有第三方外部应用就按照平均响应时间由长到短排列了出来。我们点击一个平均响应时间较长的第三方外部应用左侧的下拉按钮,此时我们便看到了该第三方外部应用中的各个接口的平均响应时间,也就知道了其中哪个接口的响应较慢,我们点击响应较慢的接口进行数据钻取,查看外部服务调用者耗时百分比图表,就可以得知该响应较慢的接口对哪些应用的请求产生了影响。 由此可以运用得出的数据投诉第三方提供商,要求其改善性能解决问题。