涉及大量 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 基准测试的主要内容,如果未能解决你的问题,请参考以下文章

mysql-大量数据的sql查询优化

MySQL切分查询用法分析

MySQL 和大量查询

java 大量for循环如何优化

优化 SQL 查询以从大量 MySQL 数据库中获取数据

mysql提高查询速度