【问题标题】:Java JMH tool for complete application performance testing用于完整应用程序性能测试的 Java JMH 工具
【发布时间】:2018-09-17 19:03:53
【问题描述】:

我已经阅读了很多关于 java JMH 的文章。但是没有任何关于 java JHM 用于完整的 java 应用程序性能测试的说明?这是否适合相同的工具。如果否,请以适当的理由支持。 在此先感谢

【问题讨论】:

    标签: java performance-testing jmh


    【解决方案1】:

    JMH 适用于构建各种规模的荷载,并具有一些相当大的优势:

    • 易于同行评审
    • 许多报告输出
    • 避免许多 JVM 基准测试陷阱
    • 嵌入式分析功能
    • 还有更多!

    这是否意味着它是一个complete java application 工具?不,而且可以说不存在适用于所有应用程序的此类工具。 JMH 非常适合进行过程中的基准测试/工作负载。在负载工作负载下的延迟有点尴尬,但对于所有吞吐量工作负载来说完全没问题。我用它来对 Cassandra(作为一个大块服务器应用程序的示例)、Netty Web 服务器、库或小代码 sn-ps 进行基准测试。 负载是真实世界吗?对于服务器应用程序,将客户端和服务器嵌入到同一个 JVM 中肯定是不现实的,但这并不意味着它没有用处,方便和额外的功能可能值得。

    通过一些努力,JMH 可以用作进程外应用程序的负载生成工具。嵌入式分析器不起作用,但比从头开始要好得多。

    【讨论】:

      【解决方案2】:

      这取决于应用程序类型和您正在寻找的性能测试类型、您尝试收集哪些指标以及您需要涵盖哪些非功能性需求。最初 JMH 代表 Java Microbenchmark Harness 并给出 micro 字样,我认为它不能用于任何应用程序的端到端性能测试,而是关于单个功能。

      性能测试的常用方法假设模拟实际负载,也就是说,您需要将应用程序置于与生产环境相同的条件下,问题是 JMH 是否提供实现的可能性这容易与否。

      我个人建议首先使用 JProfilerYourKit 之类的东西来分析您的应用程序,同时使用单独的 load testing toolApache JMeter 将您的应用程序置于负载之下

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多