-4

私はデータベース担当で、Java ベースの Web アプリケーションを持っています。

実行が遅いです。開発者は、DB のみが原因で遅いと報告しています。彼らはクエリのチューニングを依頼しています。

クエリを調整しようとしましたが、あまりパフォーマンスが向上しません。

ブラウザーでクエリを実行しようとすると、正常に動作しますが、アプリケーションでは低速です。

この問題にアプローチする方法について、いくつかの提案をお願いします。

4

1 に答える 1

3

これが私がこれにアプローチする方法です:

  • 開発者に実行速度が遅いユース ケースを 1 つ選んでもらい、それについて説明してもらいます。また、そのユースケースの一部として実行されるすべてのクエリ (パラメーターを含む) についても言及する必要があります。
  • アプリケーションからではなく、SQL ツールからデータベースに対して直接クエリを実行したときのクエリ結果を表示します。同じデータベース インスタンスと同じ量のデータを使用していることを確認してください。
  • 時間が大幅に異なる場合は、開発者に Java プロファイラー (YourKit や visualVM など) を使用して、時間が費やされている場所を特定するよう依頼してください。これにより、ボトルネックを簡単に確認できます。
  • アプリケーションが遅い場合は、コンテキストに注意してください。単一のユーザー向けですか、それとも複数のユーザーが同じユースケースを実行している場合ですか?
  • ほとんどのデータベースはログ ファイルも書き込み、クエリ パフォーマンスの概要を示し、問題のあるクエリを強調表示します。Oracle の AWR ファイルは一例ですが、MySQL にも似たようなものがあるかもしれません。

基本的に、開発者に反対するのではなく、開発者と協力するようにしてください。クエリをどのように調整したかを説明し、アプリケーションをどのように調整しようとしているのかを見せてもらいます。このアプローチは常に私にとってうまくいきました。

于 2013-02-18T12:47:44.870 に答える