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