【发布时间】:2019-02-13 17:26:32
【问题描述】:
将我的电脑换成相同硬件的电脑后,我重新安装了所有软件。 spring-boot 应用程序使用 hibernate-search 在启动时创建 lucene 索引。数据库(架构、索引等)和数据本身与旧设置相同。一切正常(应用程序等),除了现在创建索引需要更长的时间。之前每秒创建 75 个文档,但现在只有 7 个。我比较了数据库参数,它们是相同的。为了确保没有硬件问题,我使用了一个磁盘性能工具来比较电脑(新的速度有点快)。
性能大幅下降的原因可能是什么?我该如何解决?
【问题讨论】:
-
您还能访问旧电脑吗?你可以尝试在一个全新的工作空间中构建和运行应用程序,看看你是否获得了与以前相同的性能?如果您不这样做,则您的工作区中可能有一些东西会改变设置。例如,在旧工作区中不那么冗长的覆盖记录器。如果您获得相同的性能,则可能与您的操作系统的配置方式或操作系统组件的版本、数据库的版本有关……您可以尝试在两种环境中通过 VisualVM 监控海量索引,看看是否有问题脱颖而出。
-
另外,如果您当前正在通过 IDE 运行海量索引,请尝试在 IDE 之外进行。如果您使用同一 IDE 的不同版本,IDE 错误可能会解释差异。
-
是的,我仍然可以使用旧电脑。我在 IDE(9 文档/秒)和命令行(10-11 文档/秒)的新电脑上尝试了它,在旧电脑(56 文档/秒)上同样如此,命令行再次比从IDE。我很确定瓶颈在某种程度上是数据库。但我不是数据库管理员,不知道在哪里看。版本和参数相同(oracle xe 11g)。下周将尝试进行更多测试。
-
哦,我虽然你已经检查过了,因为你说数据库与旧设置相同。是的,不同配置的数据库很可能会导致这种性能下降。
标签: oracle lucene hibernate-search