検索
連載

ハードもソフトも知る技術者が語る「データベースチューニングの極意」とは?データベース高速化のいま(5)(1/3 ページ)

管理ツールだけに頼るのではなく、OSやメモリ、ストレージなどの知識を駆使した現代的なデータベースのチューニングテクニックとは?

Share
Tweet
LINE
Hatena

連載バックナンバー

 本特集では過去数回にわたり最新のデータベース高速化にまつわる技術情報を紹介してきた。本稿では、@IT編集部主催セミナー「@IT DB高速化道場」(2015年9月11日開催)の講演から、富士通 プラットフォーム技術本部 プロダクトソリューション技術統括部 部長 志賀真之氏の「技術が生み出す魔法! 最新ハードウエアとチューニングで激速データベース」を紹介する。講演では、ハードウエアとソフトウエアの両面について、データベースチューニングの基礎知識や間違えやすい点、追跡すべき情報などの解説を聞くことができた。

的確なチューニングと最新ハードウエアの組み合わせがDB高速化の肝


富士通 プラットフォーム技術本部 プロダクトソリューション技術統括部 部長 志賀真之氏

 志賀氏は、もともとはハードウエア開発の技術者だが、現在はハードウエアだけでなくOSやソフトウエアを含むシステム全体でのデータベース性能向上に携わっている。システム全体を見てボトルネックを調査することから始め、ソフトウエア側がどうハードウエアを使えば性能を最大化できるか、ソフトウエアの挙動を考慮してハードウエアをどう構成すべきかについて、大局的な視点で見ている人物といえるだろう。

 講演では、自身が手掛ける垂直統合型データベースシステムのチューニングで培ってきたノウハウを基にした「DBを高速化するための極意」を披露した。ポイントは以下の3点だ。

  • CPUは活用できているか
  • メモリを増やして速くする
  • ストレージで性能改善する

 ここからは、志賀氏が示した「DBを高速化するための極意」をダイジェストで紹介していく。

CPUは活用できているか

 「『データベースが遅い』と相談を受けて調査してみたところ、サーバーのCPUリソースが有効に活用されていないケースが多かった。サーバー製品の開発に関わる者としては、せっかく搭載したCPUなのでその能力を使い切ってもらいたい」

 志賀氏はこう述べ、「近年のマルチコアCPUでは、データベースソフトウエアが並列処理をうまくこなせないと、せっかくの高性能なCPUも特定のコアばかりに負荷が集中し、全体としてのパフォーマンスが頭打ちになってしまう」と指摘する。

 「CPU負荷を平均値で見ると、突出した負荷が発生しているプロセスを見落としてしまう。一つのプロセスに負荷が集中していても、他のプロセスでほとんど負荷がなければ、数値としては表れない」


平均値では見えない負荷

 この場合は、CPU能力をさらに高めるか、並列処理を使う必要があるが、それ以外にも「並列処理を有効にしたつもりが、アップグレードのタイミングで気付かないうちに無効化していた」といった、運用者も気付かないミスによる性能劣化もあり得るという。

 また、性能を見る際の注意点として、「ベンチマークツールのSPECintでは、データベースの処理にあまり影響のない量子計算の項目がある。最近のハードウエアではこの量子計算のパフォーマンスが非常に高くなる傾向がある。このため、SPECintベンチマークの数値は、同一アーキテクチャ間での参考値程度に見ておくべき」だとも指摘した。見た目上のベンチマークによるサーバー性能ではデータベースサーバーとしての能力を判断できない点には注意しておくべきだろう。

       | 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る