我已经阅读了很多关于java JMH .But的文章,没有任何关于java JHM用于完整的java应用程序性能测试的详细说明。这是同样的合适工具吗?如果没有,请提供适当的理由予以支持。提前感谢
发布于 2018-09-25 04:22:43
JMH适用于构建各种规模的负载,并提供了一些显著的优势:
这是否意味着它是一个complete java application
工具?不,而且可以说,这样的工具不存在于所有应用程序中。JMH非常适合进程中的基准测试/工作负载。对于负载工作负载下的延迟来说,这有点尴尬,但对于所有的吞吐量工作负载来说,这是完全可以的。我已经使用它对Cassandra (作为一个笨重的服务器应用程序的示例)、Netty web服务器、库或小代码片段进行了基准测试。load是真实世界吗?对于服务器应用程序来说,将客户机和服务器嵌入到同一个JVM中肯定是不现实的,但这并不意味着它没有用处,它的便利性和额外的特性可能会使它物有所值。
JMH可以用作进程外应用程序的负载生成工具。内嵌的分析器不能工作,但是比起从头开始要好得多。
发布于 2018-09-18 14:57:37
这取决于应用程序类型和您正在寻找的性能测试的类型,也就是说,您试图收集哪些指标,以及您需要涵盖哪些非功能性需求。最初JMH代表Java Microbenchmark Harness
,鉴于micro
word,我认为它不能用于任何应用程序的端到端性能测试,而是关于单个功能。
性能测试的常用方法假设模拟JMH ,也就是说,您需要将您的应用程序置于与其将在生产中使用的相同条件下,问题是JMH是否提供了轻松实现这一点的可能性。
就我个人而言,我建议从使用JProfiler或YourKit等工具分析应用程序开始,同时使用单独的load testing tool (如Apache JMeter )将应用程序置于负载之下
https://stackoverflow.com/questions/52374239
复制相似问题