1

ObjectDB 2.5.3_01 和 JBoss 7.1.1 有一个奇怪的性能问题。我们在一台 ObjectDB 服务器上有两个 ObjectDB 数据库。生产数据库的运行速度比测试数据库慢 5-10 倍。它们的大小和记录数量几乎相同。在单独的测试环境中运行生产数据库时,它的速度非常好。我们对我们的 2 台 Linux 服务器进行了性能分析,其中一台运行 JBOSS,另一台运行 ObjectDB。- JBOSS 服务器的 CPU 利用率最高为 5-10%(每个内核) - JBOSS 服务器的 CPU 利用率为 80-150%(这是每个内核)

现在是有趣的部分,当从 ObjectDB 资源管理器运行查询时 CPU 利用率最低,即。1% 在包含 12000 条记录的完整数据库上运行来自 ObjectDB 资源管理器的查询需要 30 毫秒,我们认为这非常好。在我们的 Web 应用程序中,此行为提供了大约 10-13 秒的数据表刷新时间,而测试数据库则为 2 秒。

有谁知道可能出了什么问题。

4

1 回答 1

0

发现问题是在该特定应用程序中定义的循环急切关系,它需要使用查询结果递归地加载许多对象。

解决方案是将关系设置从渴望更改为懒惰。

更多细节可以在这个论坛帖子中找到。

于 2014-01-17T13:13:21.893 回答