涉及大量 Mysql 查询的 Java 代码的 JMH 基准测试
Posted
技术标签:
【中文标题】涉及大量 Mysql 查询的 Java 代码的 JMH 基准测试【英文标题】:JMH benchmarking for Java code involving lot of Mysql querying 【发布时间】:2021-06-07 13:34:48 【问题描述】:我们可以使用 JMH 来测试 Java 代码在像 Java 框架这样的小型 ORM 中的性能,它涉及到对数据库的大量查询吗?从我目前所读到的关于 JMH 的内容来看,它似乎只适合对非常小的 Java 代码单元进行基准测试,而不适合涉及查询或进行网络调用的代码。
如果 JMH 不是正确的选择,还有哪些其他测试框架可用于测试我们框架的 java API 性能?
【问题讨论】:
你到底在测试什么? @user7294900 主要是测试执行代码所花费的时间。 【参考方案1】:如果您需要对代码执行进行基准测试,您应该隔离数据库进程或确保数据库时间不会干扰您的测试。下面是一些想法:
-
您可以定义接口来隔离数据库进程并添加具有固定值的实现以返回;
您可以在基准测试中使用嵌入式 H2 数据库;
【讨论】:
以上是关于涉及大量 Mysql 查询的 Java 代码的 JMH 基准测试的主要内容,如果未能解决你的问题,请参考以下文章