MySQLをチューニング,そしてスケールアップ/スケールアウトへ

第7回 MySQLのスケールアップおよびスケールアウト構成

この記事を読むのに必要な時間:およそ 3 分

第7回はMySQLのスケールアップ構成およびスケールアウト構成のポイントを解説します。

システム拡張の方向性

システム全体の性能向上のためには,個別の要素技術のチューニングだけでは無く,全体構成の最適化が必要です。データベースに限らず以下の2つの方向性を検討します。

表1 システム拡張の方向性

スケールアップ 稼働するハードウェアや仮想マシンのスペックを向上させて単体での性能改善を図る
スケールアウト 稼働するハードウェアや仮想マシンの台数を増やして全体での性能改善を図る

スケールアップによる性能改善の度合いを垂直拡張性(Vertical Scalability)⁠スケールアウトの場合は水平拡張性(Horizontal Scalability)と呼ぶこともあります。ソフトウェア製品によってはいずれかの方向性を重視した実装になっていることもあります。

スケールアップ構成の特徴

CPUやメモリ,ストレージ,ネットワークなどのハードウェアを増強することで実現するスケールアップ構成では,管理対象とすべきノードが増えないことが大きなメリットです。また,多くの場合はソフトウェアの設定パラメタを増強したスペックに合わせて調整することで,より高い性能が得られることもメリットとなります。MySQLサーバのバージョンが新しくなるにつれて,CPU数が増加した場合の性能拡張性(スケーラビリティ)も向上しています。下記は公開されているCPU数を増加させた場合のMySQL 5.6と5.5の参照更新処理の性能比較です。

図1 MySQL 5.6と5.5の参照更新処理の性能比較(12CPUから60CPUまで,Sysbench使用)注1

図1 MySQL 5.6と5.5の参照更新処理の性能比較(12CPUから60CPUまで,Sysbench使用)(注1)

注1)
出典:MySQL :: Benchmarks

下記はMySQLの開発エンジニアが公開している開発中のMySQL 5.7と5.6の参照更新処理の性能比較です。上記とはテストを行っているハードウェアが異なるため,絶対値の比較では無く,あくまでもバージョン間での相対的な比較用となります。

図2 MySQL 5.7.2と5.6の参照更新処理の性能比較(12CPUから84CPUまで,Sysbench使用)注2

図2 MySQL 5.7.2と5.6の参照更新処理の性能比較(12CPUから84CPUまで,Sysbench使用)(注2)

注2)
出典:Mikael Ronstrom: MySQL 5.7 improves CPU scaling further

スケールアップ構成は入手可能なハードウェアのスペックが上限となります。とは言え,コストを掛けることさえできれば最新のハードウェアであれば非常に高いスペックのサーバを手に入れることは可能です。

表2 オラクル製サーバSun Server X4-8の仕様上の上限

CPU Intel Xeon E7-8895 v2プロセッサ 8基(15CPUコア,30スレッド)
メモリ 6TB(32GB×192スロット)
内蔵ストレージ 9.6TB(HDD×8)⁠ or 3.2TB(SSD×8)⁠ or 6.4TB(Sun Flash Accelerator F80 PCIe Cards×8)

データベースはディスクへのアクセスを頻繁に行うことが多いため,ストレージの性能がボトルネックになっている場合にはストレージをハードディスクからフラッシュベースのストレージに換えることも有用になります。オラクル製フラッシュストレージのSun Flash Accelerator F80 PCIe Cardを利用するためのLinuxやMySQLのチューニング例は下記の資料を参照してください。

ただし将来的に求められるハードウェアスペックに合わせたサーバを事前に用意することは,初期投資が大きくなることを意味します。高いスペックのサーバを用意したにも関わらず,サービスが想定よりも利用されない場合には無駄な投資となってしまいます。

システムの負荷の上昇や利用者の増加に合わせてより高スペックのハードウェアを置き換えることも不可能ではありませんが,ハードウェアの調達や設置にはある程度の時間がかかります。クラウドサービスであれば調達や設置の時間は大幅に削減できるかとは思いますが,いずれにせよデータベースやアプリケーションの移設と新しい環境でのテストの時間を考慮しなければなりません。特にコンシューマ向けのWebサービスやソーシャルゲームなどは,サービス開始時点ではどれだけの利用者がいつ増加するか見通しにくいため,迅速に移設するための仕組み作りが求められます。

著者プロフィール

梶山隆輔

MySQL Sales Consulting Senior Manager。

日本オラクル(株)において,MySQLのお客様環境への導入支援や製品の技術解説を担当するセールスコンサルタントチームのアジア太平洋地域リーダー。多国籍なMySQL部門にて,オーストラリア,インド,台湾などに在籍するチームメンバーを束ね,アジア太平洋地域の25以上の国や地域でのMySQL普及やビジネスの拡大をミッションとする。

コメント

コメントの記入