【问题标题】:Spring Boot FilterChain increase api response time and is a hot spotSpring Boot FilterChain 增加 api 响应时间是热点
【发布时间】:2017-02-27 05:03:14
【问题描述】:

我对 Spring Boot 中的过滤器链有疑问,因为它在 Jprofiler 中被确定为增加响应时间的热点。这是正常的还是我们没有以正确的方式使用过滤器链?我们可以对其进行任何优化以减少响应时间吗?

【问题讨论】:

  • ProjectTaskResource.getProjectTasksByProject... 是热点而不是FilterChain
  • @Strelok 请在下面查看我的评论,谢谢。

标签: spring spring-boot spring-security jprofiler


【解决方案1】:

当您查看调用图时,节点背景颜色指示显示的方法中的哪些方法具有最多的自时间。这并不意味着它们是全球范围内的“热点”。

您的第二个屏幕截图显示了 JProfiler 中的“热点”视图,这是查找热点的正确位置。

【讨论】:

  • 感谢您的回答。我使用 JProfiler 查找热点的方式是使用第二个屏幕查看热点,例如ProjectTaskResource.getProjectTasksByProject... 然后我扩展它,看看哪个方法的自时间最多,这就像热点的热点。所以 ProjectTaskResource.getProjectTasksByProject... 是 /minProjectTasksByProject 端点要调用的方法,它首先通过 XAuthTokenFilter 调用 FilterChain.doFilter,这就是我将其视为热点的方式。如果我错了,请纠正我。谢谢。 @Strelok 请在此处查看我的评论。
  • 热点视图中的回溯显示了热点是如何被调用的,但回溯中的节点本身并不是热点——只能委托调用。 backtrace节点上的数字都是指顶级热点。
  • 我明白了,非常感谢!我是否能够诊断出方法中的哪个部分导致了热点?调用图是否用于自我时间指示潜在原因的情况?
  • 热点是热点,因为它本身会消耗大量时间,无论是直接在方法中还是在未分析的呼出调用中。如果您查看一个位于“紧凑”过滤器中的类(即分析自身,但没有传出呼叫),则会发生后者。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-19
  • 2018-04-10
  • 2017-11-21
  • 2020-06-21
  • 2020-12-24
  • 1970-01-01
  • 2020-02-24
相关资源
最近更新 更多