TOP設計・移行・活用> チューニングの勘所
Linux+DB2
Linux+DB2のパフォーマンスチューニング

第1回:チューニングの基準
著者:日本アイ・ビー・エム  梅谷 晃宏   2005/10/7
1   2  3  4  次のページ
チューニングの勘所

   データベースのチューニングという言葉からどのようなことを想像しますか。表の設計の見直しやSQL記述を探ること、バッファプールの調整などと主にデータベース自体の調整であったりするかと思います。

   しかしこうしたチューニング作業を行ったにもかかわらず、パフォーマンスがあまり変化しなかった、明確に問題が解決されなかったなどといったといった経験はないでしょうか。またより詳細な調査の結果、実はOSの設定やデバイスドライバのバージョンに原因があった、あるいはハードウェアの選択に問題点があったということも聞いたことがあるかと思います。

   もちろんデータベース自体のチューニングは欠かせないものですが、なんらかの問題が起こっている場合、システム全体を考慮しなければならない状況に陥ることがあります。

   一口にパフォーマンスをチューニングするといっても、ハードウェアを含めたシステム全体を考えると、考慮すべき項目は多いことに気づきます。次に示す図1は概念的にシステム全体をまとめたものです。

システム全体
図1:システム全体

   図1の1〜6の各要素の内部にそれぞれのチューニングポイントが存在し、バージョンによってもその違いが存在します。これらを合計すると、考慮するべき点はかなりの数になります。システム運用の現場で、これらすべてのチューニングポイントを詳細に調査するというのはなかなか難しいものがあります。

   しかし、どのような状況でも全体像を考慮してパフォーマンスを測定し、チューニングしていくということは必要です。よって、いかに効率的にチューニングポイントを把握していくかということが要点だといえます。

   当然と思われるかもしれませんが、やはりカーネルを含めたOSからのアプローチはシステム全体のパフォーマンスの状態を把握する一番の方法です。なぜならカーネルはハードウェアの抽象化であり、さらにアプリケーションが動作する際のハードウェアへのインターフェースとなっているからです。大雑把にいってしまうとカーネルはハードウェアとアプリケーション両方からの情報を効率よく取得できるポイントとなっているからです。

   ここで重要なのは必要な情報をどのような基準で取得していくかということです。よって、システムのパフォーマンス上で考慮すべき点を測定の基準とし、その意味について理解し、目的にあった情報が得られるか、その情報からパフォーマンス上のボトルネックや向上点を探りだせるか、ということを考えていくことがチューニングにつながっていきます。

   さらにこの基準を整理し、理解するということは別の意味でも重要です。Linuxはオープンソースの様々なツールが使用できるため、ツールによって出力される情報のフォーマットが異なる場合があります。しかしこの測定基準を整理しておくことで、ほとんどのツールの出力の要点を理解できると思います。

   本連載では、総合的にデータベースのパフォーマンスを低下させる潜在的なポイントを探るという観点から、パフォーマンスを測定する基準となる項目を整理します。

   プロセッサ/メモリ/ブロックデバイス/ネットワークデバイスという項目に分けて解説しますが、ある程度のLinuxのカーネルの動作とOSとしての動作の知識が必要かと思われます。ただしわかりにくいと思われる箇所については、後に紹介するツールと一緒に解説していきます。

   本連載で使われる用語については、Linux上のツール類で一般的なものあるいはLinuxのカーネルの動作を呼称する一般的な用語として配慮してあります。そのため項目は意図して英単語で表記してあることに注意してください。

1   2  3  4  次のページ


日本アイ・ビー・エム株式会社 梅谷 晃宏
著者プロフィール
日本アイ・ビー・エム株式会社  梅谷 晃宏
日本アイ・ビー・エム株式会社、Linuxサポートセンター所属 1999年のLinuxサポートセンターの設立以来、一貫して先進Linux関連プロジェクトやLinuxビジネスの開発に従事。現在はLinux上のIBM製ソフトウェアのサポート、SELinuxなどのLinuxセキュリティ、及び通信キャリア仕様Carrier Grade Linuxのプロジェクトを担当。


INDEX
第1回:チューニングの基準
チューニングの勘所
  プロセッサに関する測定基準
  メモリに関する測定基準
  ネットワークデバイスに関する測定基準