• 検索結果がありません。

MySQLパフォーマンスチューニングの紹介

ドキュメント内 untitled (ページ 48-53)

○レプリケーション構成△

5. MySQLパフォーマンスチューニングの紹介

5−1. デフォルトパラメータファイルとの性能差

5−2. パフォーマンスチューニングのポイント

5−3. パフォーマンスチューニングサービス

5−1. デフォルトパラメータファイルとの性能差

MySQLインストール時「support-files」配下に設定テンプレートファイルがいくつか用意してあります

‡my-small.cnf :64Mバイト以下のメモリしか搭載できないサーバ向け

‡my-medium.cnf :128Mバイト程度のメモリを搭載したさまざまな用途の共有サーバで、MySQLに32M

〜64Mバイト程度のメモリ領域を使用できるサーバ向け

‡my-large.cnf :512Mバイトのメモリを搭載したMySQL専用サーバ向け

‡my-huge.cnf :1G〜2Gバイトのメモリを搭載したMySQL専用サーバ向け

‡my-innodb-heavy-4G.cnf:4Gバイトのメモリを搭載したMySQL専用サーバでInnoDBのみ利用し、接続が少な く重いクエリを実行するMySQL

比較的大きめなシステム用のmy-huge.cnfのテンプレートにおけるパラメータ値を利用した場合と、パラメータをチューニングし た場合のベンチマーク結果を示します。

ベンチマーク環境については「1−3.MySQL Enterpriseのスケーラビリティ(1)」と同一です。

尚、構成ファイルやログ配置先に関してのみ、デフォルトファイルを変更しておりますが、比較前後で変更していません。

5−1. デフォルトパラメータファイルとの性能差

【チューニング後のパラメータ】 ※一部抜粋 変更箇所は赤字で記載

skip-locking key̲buffer = 1250M max̲allowed̲packet = 16M table̲cache = 1024 sort̲buffer̲size = 2M read̲buffer̲size = 2M read̲rnd̲buffer̲size = 8M myisam̲sort̲buffer̲size = 64M thread̲cache̲size = 64 thread̲concurrency = 4 max̲connections=1500 net̲read̲timeout=30 net̲write̲timeout=30 back̲log=128

innodb̲buffer̲pool̲size =2250M innodb̲additional̲mem̲pool̲size = 50M innodb̲log̲buffer̲size = 4M

innodb̲thread̲concurrency=8 sync̲binlog=1

【my-huge.cnf パラメータ】 ※一部抜粋 skip-locking

key̲buffer = 384M max̲allowed̲packet = 1M table̲cache = 512 sort̲buffer̲size = 2M read̲buffer̲size = 2M read̲rnd̲buffer̲size = 8M myisam̲sort̲buffer̲size = 64M thread̲cache̲size = 8 thread̲concurrency = 8 innodb̲buffer̲pool̲size = 384M innodb̲additional̲mem̲pool̲size = 20M innodb̲log̲file̲size = 100M

innodb̲log̲buffer̲size = 8M innodb̲flush̲log̲at̲trx̲commit = 1 sync̲binlog=1

変更

READ PK POINT

0 10,000 20,000 30,000

1thread 2threads 4threads 8threads 16threads

C oncur r ent  Thr ea d

Queries / Second

Non Tune InnoDB Non Tune MyISAM Tuned InnoDB Tuned MyISAM

READ KEY POINT_LIMIT

0 4,000 8,000 12,000

1thread 2threads 4threads 8threads 16threads

C oncur r ent  Thr ea d

Querie/ Second

Non Tune InnoDB Non Tune MyISAM Tuned InnoDB Tuned MyISAM 主キーほど顕著な差はない。

非ユニークキーの場合、データ のムラに左右される。

MyISAM、InnoDB 共に大幅な性能改善

5−2. パフォーマンスチューニングのポイント

パフォーマンスチューニングを効率よく行うにあたり、気をつけるべきポイントを記載します。

MySQLパフォーマンスチューニング向上の10のポイント

詳細は別途お問合せください。

‡ バッファ系パラメータチューニング

‡ ディスクIO関連のチューニング

‡ Explain文によるSQLチューニング

‡ Show Statusによるメモリチューニング

‡ Slow Query Logによる問題SQLの発見

‡ MySQLサブクエリーのチューニング

‡ InnoDBログサイズチューニング

‡ クエリキャッシュチューニング

‡ ネクストキーロック問題

‡ クラスタインデックスを原因とするボトルネックSQL

5−3. MySQLパフォーマンスチューニングサービス

弊社では以下のプロセスでパフォーマンスチューニングサービスを提供します。

ヒアリング

「診断サービス」

データベース診断

「診断サービス」

お見積もり ご発注

診断結果のご報告 改善提案

「改善サービス」

お見積もり ご発注

改善サービス 実施

実施後の判定等

「診断サービス」

・チューニングテスト用のscriptを用意 → 動作項目のLOGを取り、スクリプトを掛けて診断する

・解析を行い、CPU使用率、ロードアベレージ、サーバのディスクI/O、MySQLに関する(myconfなど)値について、

現在値と推奨値をレポートする。

「診断サービス」

・チューニングテスト用のscriptを用意 → 動作項目のLOGを取り、スクリプトを掛けて診断する

・解析を行い、CPU使用率、ロードアベレージ、サーバのディスクI/O、MySQLに関する(myconfなど)値について、

現在値と推奨値をレポートする。

■日数の想定

・5〜10営業日(1、2週間)

作業内容により、変動。

■日数の想定

・5〜10営業日(1、2週間)

作業内容により、変動。

■費用の想定

・対応技術者2名で50万〜

作業内容により、変動。

■費用の想定

・対応技術者2名で50万〜

作業内容により、変動。

ドキュメント内 untitled (ページ 48-53)

関連したドキュメント