性能要件の厳しいシステムでお勧めする、オラクル製品を利用した性能試験

EnterpriseZine / 2013年1月10日 0時0分

前回は、アップグレードを行う時に、実施する必要がある試験と、正しい性能試験を行うために必要となる事前準備についてご紹介しました。今回は、性能要件の厳しいシステムでは実施することをお勧めする、アップグレード前後の実行計画を比較する性能試験と、オラクル製品を利用した性能試験についてお伝えします。

■アップグレード前後の実行計画を比較する性能試験

 アップグレードを行うと、多くのSQLの性能は向上しますが、稀に性能が劣化するSQLも存在します。そのため、性能要件がとても厳しいシステムでは、アップグレード前後の実行計画を比較する性能試験を行い、性能問題の発生を可能な限り未然に防止することをお勧めします。

 そこで、作業コストはかかりますが、アップグレード前後の実行計画を手動で比較する方法をお伝えします。

 なお、次の章で紹介する、SQL Performance Analyzer (SPA)というオラクルのオプション機能を使用することで、少ないコストで簡単にSQL単位の性能比較を行うことが出来ます。

● ① 確認対象のSQL文の抽出

 SQL台帳などで、確認対象のSQLをまとめていない場合は、現行環境にSQLトレースを仕掛け、実行されたSQLをロギングすることでSQL文を抽出してください。

 ただし、SQLトレースを仕掛けると、抜け漏れ無く情報を取得することが可能ですが、データベースに負荷がかかります。そのため、データベースレベルではなく、対象処理が流れるセッションに対してのみ設定することを筆者はお勧めします。

● ② 現行バージョンのテスト環境の準備

 現行環境のデータを、現行バージョンのテスト環境へ移行します。データ量の変動が激しいシステムの場合は、データ量が最も多くなるタイミングのデータを移行してください。

 また、現行環境と同じ実行計画を再現するために、現行バージョンのテスト環境には、現行環境と同じ初期化パラメータを設定し、統計情報も現行環境で使用しているものを移行してください。

● ③ 新環境の準備

 現行バージョンのテスト環境へ移行したデータと同じものを、新環境へ移行してください。

 自動統計収集を行う場合は、データを移行した後に、統計情報を収集してください。ただし、統計情報が収集されるタイミングによって、実行計画が変動する可能性があるため、試験の時と同じ実行計画が本番で使用されない場合もあります。そのため、実行計画を変動させたくない場合は、統計情報を固定化することもご検討ください。

この記事に関連するニュース

トピックスRSS

ランキング