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

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

データベースのパフォーマンス問題

 第2回のテーマは、「データベースのパフォーマンス・チューニング」です。データベースに限らず、システム全般的に、長きに渡り管理者・設計者を悩ませてきた課題です。

 ただ、パフォーマンス・チューニングというテーマは、既に数多くの書籍や記事等があると思います。本連載の趣旨は、“これまで十分にお伝えできていなかった「Oracle Database 10g」や「Oracle Database 11g」が持つ、優れた機能を現場で生かす”ですので、パフォーマンス・チューニングというテーマでも、こうした点に重点を置いた内容にしました。

 今回は以下のような流れで、パフォーマンス・チューニングについてお話ししたいと思います。

(1)100件の事例から見た最近のパフォーマンス問題の傾向
(2)最大の課題をソフトウエアの力を活用して解決する
(3)基本だが重要なチューニング項目
(4)高いレベルの課題に対応していくには

100件の事例から見た最近のパフォーマンス問題の傾向

 前回の「データベースサーバー統合の流れ」では、実際のお客さまの声を取り上げました(http://thinkit.co.jp/article/1037/2/)。今回も同様に、実際のお客さまのデータを参考にしながら、最近のデータベースがどのようなパフォーマンスの課題を抱えているのかを見ていきたいと思います。

 ここからは、Oracle Directで実施している「パフォーマンス・クリニック・サービス」(http://www.oracle.com/lang/jp/direct/service/pc.html)における診断結果を見ていきます。これは、現在運用中のデータベースの稼働状況からパフォーマンスのボトルネックを診断し、チューニングすべき項目をガイドするサービスです。

 ここで紹介するデータは、本サービスで診断させていただいた直近100件の結果です。サンプル数は多くないため、一般のデータベースに必ずしも当てはまる訳ではありませんが、私がプリセールス活動でお聞きする内容とも大きな差はないので、現場でデータベースを管理することのある読者の皆さんにも、参考にしていただける結果ではないかと思います。

 簡単に、代表的な傾向を解説したいと思います。

(1)パフォーマンス・ボトルネックの第1位はディスクI/O

 図1のように、今回のサンプルデータにおけるボトルネックの第1位はディスクI/Oでした。これは、よく言われていることですが、CPUの性能向上に比べてHDDの性能向上が足踏みしてしまっていることが理由の一つとして挙げられます。もちろん、インターフェースやストレージアレイの技術革新もありますが、HDD単体で見ると性能向上は小さいと言えます(Intel社の発表によると、1996年からのCPUの性能向上は175倍に達しているのに対し、HDDの性能向上は1.3倍にとどまるとのこと。参考資料:http://download.intel.com/it/pdf/Solid_state_drives_in_Enterprise.pdf)。

 もちろん、Oracle Databaseが持つ独自のクラスタリング機能「Oracle Real Application Clusters」(以下、RAC)によって、CPUやメモリ空間をリニアに拡張させていくことはできます。ですが、このRAC構成のシステムでも、ディスクI/Oがボトルネックとなってしまっているケースが、今回のサンプルでは見受けられました。ですので、マルチコア化を始めとしたCPU性能の向上やRACによる拡張だけでは、ディスクI/Oのボトルネックを抱えるデータベースの性能問題を解決することはできないということになります。

 このディスクI/Oボトルネックを、高性能ストレージに頼るのではなく、Oracle Databaseが持つソフトウエアの力を活用して解決するにはどうしたらよいかについて解説します。

(2)データベース・チューニングの基本であるメモリ設定が最適でないケースも多い

 もうひとつ見えてきたのが、メモリ設定が最適化されていないことが多い、ということです。Oracle Databaseでは、傾向(1)のようなディスクI/Oボトルネックを避けるために、メモリを活用するアーキテクチャーになっています。

 今回のサンプルデータでも、このメモリ設定を最適化することで、パフォーマンス改善が見込まれるケースも多くありました。そこで、あらためて確認いただく内容になってしまうかもしれませんが、メモリ・チューニングについてもお話しします。

 この2点について、次のページより説明していきます。

日本オラクル株式会社
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メルマガ会員のサービス内容を見る

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