3

我有两个测试环境。我的应用程序在第二个应用程序中表现最差。我怀疑这是因为第一个系统使用的数据库运行在更好的硬件上(更多的 CPU,更快的连接)。我想以某种方式验证我的主张。有什么工具可以帮助我吗?如果它有帮助,我正在使用 Oracle 11g,我的应用程序正在使用 Hibernate 连接到数据库。

请注意,我对分析我的模式不感兴趣。我想比较两台不同机器上相同数据库(即模式+数据)的速度。

如果您有兴趣,为什么我怀疑数据库是问题所在:我在这两个环境的测试期间分析了我的应用程序。在第二个测试环境中,负责连接数据库的方法(即 org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery())使用了更多的 CPU 时间。

4

1 回答 1

2

回答这个问题:我相信您会使用 JMeter 来分析这两种环境,并从您运行的测试中获取全面的数据。VisualVM 也会有所帮助,但这取决于您需要的数据类型,以及您需要如何呈现(或分析)它。

但至于一般的问题,两个数据库上的数据是完全一样的吗?因为如果不是这种情况,则存在一些可能性 - 您的事务可能取决于被另一个进程锁定的数据(因此,您需要查看您的事务和它们使用的事务隔离)。

于 2012-10-25T12:32:32.013 回答