22.2 パフォーマンス問題の特定
Oracle Application Expressアプリケーションのパフォーマンス問題の特定および解決に役立ついくつかの主要な方法を示します。
親トピック: アプリケーション・パフォーマンスの管理
22.2.1 実行速度の遅いアプリケーションのトラブルシューティングについて
実行速度の遅いアプリケーションのトラブルシューティングにおける最初のステップは、ボトルネックの場所を特定することです。特定のページ・リクエストまたは送信がデータベースから返されるためにかかる時間を確認することによって、アプリケーションのパフォーマンスを評価できます。この時間が、ユーザーのブラウザでページをレンダリングするためにかかる時間よりも短い場合は、アプリケーションが遅いと認識される原因は他のコンポーネントにある可能性が高くなります。クライアント・マシン、ネットワーク、中間層、データベース、ディスクおよびストレージ・デバイスを含む、すべての関連コンポーネントを常にチェックすることがベスト・プラクティスとなります。データベースについては、システム・グローバル領域(SGA)、CPU使用率、ロックおよびデータベース・パラメータをチェックします。また、レガシー・アプリケーション、データ・ウェアハウス、バッチ・プログラム、データベース・ジョブなど、データベース内で他に実行されているものがあるかどうかを確認することも重要です。
ほとんどの場合、Oracle Application Expressアプリケーションのパフォーマンス問題は開発者が作成したSQLおよびPL/SQLによるものです。これらの問題に対処するには、標準のデータベース・パフォーマンス・チューニング手法を使用する必要があります。パフォーマンス問題がOracle Application ExpressまたはOracle Databaseのバグに関連していることはほとんどありません。
親トピック: パフォーマンス問題の特定
22.2.2 パフォーマンス問題の診断
パフォーマンスの問題を診断するには、次のステップを実行します。
- 時間ウィンドウを特定します。
- データベース時間の最大のコンシューマを特定します。
- Oracle Application Expressワークスペースおよびアプリケーションを特定します。
- 問題の原因となっているSQLとアプリケーション内の特定の場所の関連を確認します。
実行速度の遅いページを特定したら、デバッグ・モードでアプリケーションを実行して、最も多くの時間を消費しているコンポーネントを特定する必要があります。
親トピック: パフォーマンス問題の特定
22.2.3 問題のあるSQL問合せのデバッグについて
問合せが正常に実行されていない可能性がある場合、SQL*Plus、SQL DeveloperまたはSQLコマンドでの実行を試してください。いずれの方法でも、アプリケーションのコンテキスト外で問合せがテストされるため、問題をより簡単に特定できます。
親トピック: パフォーマンス問題の特定
22.2.4 速度の遅い問合せへの対処について
最適化された問合せの処理が1秒を超える場合は、進捗バーの実装および複数のページ送信を回避することを検討します。ユーザーは即時の結果を期待し、ページがすぐに返されないと、多くの場合、ページを再送信します。適切に管理されていない場合、ページ送信ごとにデータベース内で新しいセッションが開始され、完了するまで継続します。多くの場合、複数のページ送信はパフォーマンスを低下させ、データベース・ロックにつながる可能性があります。このことは、特に対話モード・レポートに該当します。別の方法として、Oracle Application Expressコレクションを使用して問合せ結果を保持することをお薦めします。コレクションを使用すると、コストと時間のかかる問合せは、ページ区切りの実行やフィルタの作成ごとではなく、ユーザーごとに1回のみ実行されるようになります。
ヒント:
ページ属性の「詳細」、「ページの重複送信の許可」を構成することにより、エンド・ユーザーが同じページを複数回送信できるかどうかを制御します。
関連項目:
親トピック: パフォーマンス問題の特定