3

2つのテスト環境があります。私のアプリケーションは、秒単位で非常に悪いパフォーマンスを示しています。これは、最初のシステムがより優れたハードウェア(より多くのCPU、より高速な接続)で実行されるデータベースを使用しているためだと思います。どういうわけか私の主張を検証したいと思います。それを助けるツールはありますか?役立つ場合は、Oracle 11gを使用しており、アプリはHibernateを使用してデータベースに接続しています。

念のために言っておきますが、私は自分のスキーマのプロファイリングには興味がありません。2台の異なるマシンで同じデータベース(スキーマ+データを意味する)の速度を比較したいと思います。

興味があれば、データベースが問題であると思う理由:これら2つの環境でのテスト中にアプリケーションのプロファイルを作成しました。2番目のテスト環境では、データベースへの接続を担当するメソッド(つまり、org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery())がCPU時間をはるかに多く使用しています。

4

1 に答える 1

2

質問に答えるには: JMeterを使用して2つの環境のプロファイルを作成し、実行したテストから包括的なデータを取得すると思います。VisualVMも役立ちますが、それは必要なデータの種類と、それをどのように提示(または分析)する必要があるかによって異なります。

しかし、一般的な問題として、2つのデータベースのデータはまったく同じですか?そうでない場合は、いくつかの可能性があります。トランザクションは、別のプロセスによってロックされているデータに依存している可能性があります(したがって、トランザクションと、それらが使用するトランザクション分離を確認する必要があります)。

于 2012-10-25T12:32:32.013 に答える