シンジ&アヤノの
実践データベース性能テストの極意:
Oracle Real Application Testingを使ってみよう
第 4回 SQL Performance Analyzer~SQLチューニング・アドバイザでチューニングする~
第3回では、実際にSQL Performance Analyzerを動かし、システム変更前後でのSQLパフォーマンスを比較するまでの手順について実施しました。
第4回では、次にその比較評価結果から性能が低下したSQLについて、SQL チューニング・アドバイザを利用して、チューニングを実施する手順について紹介します。
今回ご紹介するパートを全体のワークフロー図で示すと、以下(図1)のようになります。
※注意
本記事に記載している内容は、Oracle Enterprise Manager Cloud Control 12cを用いたReal Application Testing機能のおおまかな操作手順とその動作結果イメージを理解していただくことを目的としています。使用するOracle Enterprise Manager のバージョンによって、操作手順が異なることがあります。システムおよびパッケージの開発や実行環境で使用する際には、関連ドキュメントを参照の上、実施してください。また、本記事は単に情報として提供されるものであり、内容に誤りがないことの保証や弊社サポート部門へのお問い合わせはできませんのでご理解ください。
1. SQLチューニング・アドバイザの実行
SQLパフォーマンス・アナライザの比較評価結果の画面下の部分から3本のSQLの性能が低下(バッファ読み取りが増加)していることが確認できます。低下したSQLに対しSQLチューニング・アドバイザ機能を利用してチューニングを実施します。まず、この画面から、 [SQLチューニング・アドバイザの実行]をクリックします(画面上:①)。
チューニング・タスクを作成するため、「チューニング・タスク名」に任意の名前を入力し、スケジュールは「即時」を選択して、[OK]をクリックします。本記事ではチューニング・タスク名を『SPA1_TUNE_REG_SQL』としています。
画面から、チューニング・タスクが作成されたことを確認できます。
[パフォーマンス] タブから、[アドバイザ・ホーム]をクリックします。
先ほど作成したチューニング・タスク、『SPA1_TUNE_REG_SQL』が画面に表示されますので、[名前]欄をクリックします。
次に、サマリー画面が表示されるので、[すべての結果の表示]をクリックします。
上記画面から[すべての結果の表示]をクリックすると、分析済みSQLの結果が表示されます。
2. チューニングの実装
ここからは、「1.SQLチューニング・アドバイザの実行」ステップで分析したSQLの結果からチューニングを実装する作業に入ります。
まず、[すべてのSQLプロファイルを実装]をクリックします。
次に、[はい]をクリックします。
SQLプロファイルが作成され、SQLチューニングのサマリー画面に戻ります。
「タイプの検索によるブレークダウン」で、SQLプロファイルのグラフが「実装済」になっていることが確認できます。
コラム:SQLプロファイルについて
|
3. チューニング後SQLとのパフォーマンス比較
ここからは、チューニングを実装したSQLのパフォーマンスをSPAを利用し、システム変更前のSQL試行結果と比較します。
[パフォーマンス] タブから、[SQL] → [SQLパフォーマンス・アナライザ]をクリックします。
次に、第3回で作成したSQLパフォーマンス・アナライザのタスク「SPAT1」をクリックします。
次に、「SQL試行の作成」をクリックします。
「SQL試行名」に任意の名前を入力し、スケジュールは「即時」を選択して、「試行環境による結果の決定付け」の下にある「試行環境設定済み」にチェックを入れた状態で、「発行」をクリックします。
チューニング後のSQL試行が完了したら(「ステータス」列が「COMPLETED」になったら)、次に、「SQL試行比較の実行」をクリックします。
第3回で作成したシステム変更前のSQL試行を「試行1の名前」として選択し、今作成したチューニング後のSQL試行を「試行2の名前」として選択します。
比較メトリックで「バッファ読取り」を選択し、スケジュールは「即時」を選択した状態で、「発行」をクリックします。
コラム:SQL試行比較で選択する対象
|
実行したSQL試行比較の[比較レポート]欄の眼鏡マークをクリックします。
眼鏡マークをクリックすると、比較評価結果が表示され、チューニング前の比較では性能が低下していたSQLがなくなっていることが確認できます。
コラム:SQLチューニング・アドバイザ機能
|
4. まとめ
第3回でSQL Performance Analyzerを使って作成したシステム変更前後でのSQLパフォーマンス比較評価結果レポートから、パフォーマンス劣化しているSQLをSQLチューニング・アドバイザを用いてチューニングする手順について紹介しました。いかがでしたでしょうか。
SQL Performance Analyzerの結果から、簡単にSQLチューニング・アドバイザ機能を利用してチューニング実装を実行することがイメージいただけたかと思います。
個別SQLレベルでの性能検証、チューニングができたら、次はデータベース全体のパフォーマンステストを実施してみましょう。
アヤノ | 次回からはDatabase Replayの説明ですね。こっちはわたしが担当しまーす! | |
シンジ | おぉ、ではお願いします。 | |
次回は、「第5回~Database Replay~ワークロードをキャプチャする~」です。
是非ご覧ください。