データベースのパフォーマンス問題の傾向とチューニング

2009年10月8日(木)
山本 祐介

基本だが重要なチューニング項目~メモリ・チューニング

 先にお話ししたように、データベースのパフォーマンスが上がらない理由のひとつとして、メモリ設定が最適化されていないことが挙げられます。Oracle Databaseのメモリ・チューニングは非常に複雑という印象を持っている方もいらっしゃると思いますが、「Oracle Database 10g」や「Oracle Database 11g」ではOracle Databaseが自動チューニングやアドバイスを行ってくれる仕組みになっています。

 図3-1は、Oracle Database各バージョンのメモリ関連のパラメータです。ご覧いただくと分かるように、「Oracle8i」で9つあったパラメータが、「Oracle Database 11g」ではOracle Database全体が利用するメモリサイズを指定するだけで、後はデータベース自身が負荷状況を見ながら自動的にチューニングしてくれるため、わずか1つになりました。

 また、唯一指定するパラメータについても、これまでの負荷状況から最適な値をアドバイスしてくれる機能が備わっています(図3-2)。

 このメモリ・アドバイザですが、次のような声も頂いています。「メモリ・アドバイザの出したメモリの設定を、そのまま既存のシステムに適用しても、パフォーマンスの改善に有効であり、あらためてその効果を実感した」

 このように、メモリ・チューニングに限らず、Oracle Databaseはバージョンが上がる度に運用管理が容易になるように進化しています。

高いレベルの課題に対応していくには

 Oracle Databaseでは、ここまでお話ししたような機能によって、ソフトウエアの力を活用してパフォーマンスの課題に対応していくことが可能です。ただ、どんなシステム特性・どんな規模のデータベースでも解決していくことができるかというと、難しいケースも出てきます。

 そこで、Oracleでは、こうした課題・ニーズに合わせた製品群を用意しています。例えば、金融機関やWebシステム等の高いパフォーマンス・ニーズに対応するため、インメモリ・データベースである「Oracle TimesTen In-Memory Database」(http://www.oracle.com/lang/jp/database/timesten.html)やKey-Value型データストアである「Oracle Coherence」(http://www.oracle.co.jp/campaign/coherence/)を。また企業の分析ニーズに応えるために、データベース・アプライアンスである「Oracle Exadata」(http://www.oracle.com/lang/jp/database/exadata.html)を提供しています。

■今回のまとめ

 今回のまとめとしては、データベースの性能を圧迫するボトルネック要因の第1位として、まずはディスクI/Oの問題を挙げることができます。この問題に対して、OracleではASM(Automatic Storage Management)と呼ぶ自動化ツールを用意しました。必要なときに必要なだけディスクを追加することができます。自動的にデータの分散配置も実施します。

 メモリ・チューニングも重要ですが、Oracle Databaseにはチューニングを自動化する機能が備わっており、決して難しくはありません。設定しなければならないパラメータは、たったの1つです。Oracle Database全体で利用するメモリサイズを指定するだけで、メモリのチューニングが済みます。

 それでも性能の確保が難しいケースには、用途に合わせた専用の製品群も用意しています。Oracle Databaseのキャッシュ用途にも利用可能なインメモリ型リレーショナル・データベース「Oracle TimesTen In-Memory Database」、Key-Value型データストア「Oracle Coherence」、データベース・アプライアンス「Oracle Exadata」などがあります。

 以上で第2回「パフォーマンス・チューニング」は終わりです。今回は、事例からパフォーマンス問題の傾向を見た上で、ポイントをかなり絞ってまとめました。今後のシステム構想・構築に少しでもお役立ていただければ幸いです。

■データベースのパフォーマンス・チューニング参考情報
 オンライン・セミナーの資料を中心にまとめました。ぜひご活用ください。

<パフォーマンス・チューニングの全体を知る>
・パフォーマンス管理始めの一歩
http://www.oracle.com/technology/global/jp/columns/beginner/db_tuning_1st/index.html
・パフォーマンス・チューニング入門
http://www.oracle.co.jp/iSeminars/090910_1730/20090910_TurningBigginer.pdf
・ディスクI/Oチューニング入門
http://www.oracle.co.jp/iSeminars/090917_1730/20090917_DiskIOTuning_update.pdf
・主要課題ごとの解決手法
http://www.oracle.co.jp/iSeminars/090708_1330/SystemPerformance_090708.pdf

<パフォーマンスをモニタリングする>
・モニタリング手法
http://www.oracle.co.jp/iSeminars/090325_1330/Monitoring_090325.pdf
・Statspack解析
http://www.oracle.co.jp/iSeminars/090624_1500/Statspack_Tips_090624_2.pdf
・GUIでパフォーマンス・チューニング:次世代データベース管理者”DBA2.0”
http://www.oracle.co.jp/iSeminars/090413_1330/DBA20.pdf

<パフォーマンス・チューニングを深く知る>
・Platinumが語る!現場から学ぶパフォーマンス・チューニングの極意
http://www.oracle.co.jp/iSeminars/090624_1330/Platinum_Performance_Tuning.pdf
・索引のチューニング
http://www.oracle.co.jp/iSeminars/090128_0930/NSindex_tuning1.pdf
http://www.oracle.co.jp/iSeminars/090129_0930/NSindex_tuning2.pdf
・オプティマイザのチューニング
http://www.oracle.co.jp/iSeminars/090129_1330/20090129_optimizer.pdf
・データウェアハウスのパフォーマンス・チューニング
http://www.oracle.co.jp/iSeminars/080805_1400/id_001661.pdf

日本オラクル株式会社
Oracle Direct / Technical Service Group 所属。Oracle Database, In-Memory Solution, 仮想化などの製品を担当し、プリセールス活動やオンラインセミナー(Oracle Direct Seminar: http://www.oracle.co.jp/direct/seminar/)等による情報発信を行う。現在はWindows Server上でのOracle製品活用を推進している(http://www.oracle.co.jp/campaign/mb_tech/

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています