チューニングの基準

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

梅谷 晃宏

2005年10月7日 20:00

チューニングの勘所

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

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

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

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

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

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

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

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

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

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

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

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

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

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30