【问题标题】:JVM optimization with JProfiler使用 JProfiler 进行 JVM 优化
【发布时间】:2018-12-05 12:18:40
【问题描述】:

我正在测量客户说速度慢的应用程序中的功能。 我正在使用 JProfiler 与 IntelliJ 集成。 请看下面的分析:

我想知道我应该关注哪些因素?

见:https://jsfiddle.net/mxyw5bnu/

有人可以在这里看到有趣的东西吗?

我没有将此html 发布为 sn-p,因为这样做时浏览器会挂起。

【问题讨论】:

  • pl.a.sc.x.back.comm.process.AsyncProcessTask.execute(java.util.Optional) 似乎需要 3.8 秒。如果没有在调用堆栈中对该方法的计时进行细分,很难说为什么需要这么长时间 - 但确实需要很长时间。这是预期的吗?
  • 如果我是对的,那么下面的操作可以与此任务在同一时间范围内进行,例如:pl.a.sc.x.back.pol.importer.property.bo.polimport.ImportNonStandardPropertyPolService.importPolData(pl.a.sc.x.back.pol.bo.service.bancassurance.polimportOperationRequest) 是否正确?时间建议如此(因为只有 1 次调用,整个函数花费的时间不超过 15 秒)。所以它是call stack 对吗?我认为该方法可能需要一些时间 - 但我可以专注于优化它的哪个因素。
  • 我还看到zipkin 花了 72 秒(可能有很多线程,100 次调用) - 我会尝试将其从 100% 更改为 10%,看看是否会发生变化。
  • 很抱歉成为坏消息的承担者,但您需要阅读the manual。所有的。不要跳过部分。不要以为你什么都知道。不要只是盲目地点击 API。您显然不知道如何解释结果,开源社区无法帮助您。另一种选择是聘请顾问,让他们签署和保密协议,并让他们访问源代码。很抱歉直言不讳。
  • 我在行动前开始记录,然后停止 - 所以从这个结果中,有人应该知道在我的应用程序中花费时间的主要因素以及我可以关注的因素。感谢您的链接。

标签: java performance tomcat jprofiler


【解决方案1】:

请查看pl.a.sc.x.back.pol.bo.assembler.polversion.PolVersionDtoAssembler.toDto() - 只有 2 次调用占用了一秒钟,这对于所谓的 POJO 转换来说可能太多了。 此外,请查看具有较大 离群系数 的方法,该系数显示最慢的调用偏离中位时间的程度

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-17
    • 2017-05-27
    • 2015-08-01
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多