MySQLのパラメータ設計について

【この記事の所要時間 : 約 3 分

MySQLのパラメータチューニングでMySQLのパラメータ設計について調べた内容をエントリーしましたが、その前に、野村総合研究所が運営する「OSSユーザコミュニティサイト」にMySQLのパラメータについて質問していたら回答をもらえた。
オープンソースQ&A > MySQL – MySQLのパラメータ設計

私は大体下記の様にパラメータ(メモリ割当)設計をしています。
まずMySQL割当可能なメモリ量を決めます。(MySQL全メモリ量)
MySQL専用サーバなら、OSに1GB割り当てられれば、残りはMySQLに割り当てます。
アプリケーションサーバが混在しているなら、サーバ全体の実メモリ量の半分くらいが妥当でしょうか。ケース・バイ・ケースです。
MySQLに割り当てるメモリ設定は2つに大別されます。
・スレッド共有パラメタ
innodb_buffer_pool_size (InnoDB用)
key_buffer_size (MyISAM用)
・スレッド固有パラメタ
sort_buffer_size
myisam_sort_buffer_size
read_buffer_size
join_buffer_size
read_rnd_buffer_size
それぞれのパラメタの意味は書籍やMySQLドキュメントを参考にしてください。
スレッド固有パラメタはmax_connectionsを掛けた値が消費されます。
つまり 下記のような式になります。
MySQL全メモリ量 = スレッド共有パラメタの合計
+( スレッド固有パラメタの合計 × max_connections)
注意点としては
スレッド共有パラメタはデータ容量以上の量を指定しても意味がありません。
key_buffer_sizeは実メモリの50%以上を割り当てると性能が劣化する可能性があるそうです。

ほかにネットなどで調べていたものを補完する内容だったので、やっぱりそうかとうれしく思った。
パラメータ設計に関しては、経験者談が一番参考になる。

現場で使える MySQL (DB Magazine SELECTION)
松信 嘉範
翔泳社
売り上げランキング: 165,715
スポンサーリンク
レクタングル(大)広告
  • このエントリーをはてなブックマークに追加
スポンサーリンク
レクタングル(大)広告

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です