page_adsence

2011年1月17日月曜日

my.cnfの説明及び設定例

■port
通常3306。セキュリティ面から変更したほうがいい。

■key_buffer
インデックスをバッファに保存する際のメモリサイズ。
MyISAMならOSキャッシュも使うので全メモリの30-40%いれるといいらしい。
増やすと検索速度 up
例)key_buffer=256M

■innodb_buffer_pool_size
InnnoDBのバッファのプールサイズ。
InnnoDBはOSキャッシュ使わないので総メモリの70-80%でがんがんいっとけ。

■table_cache
データのキャッシュサイズ。I/O減らすのに有効
数百のテーブルなら1024がベスト。
例)table_cache=256

■thread_cache
スレッドの作成・削除は負荷重いので少なくとも16はほしい。
あとはThreads_Createdの動きを見ながら。

■innodb_additional_pool_size
あんまり効果はないけど20Mほど。

■innodb_log_file_size
ログファイルのサイズ。増やすとパフォーマンスいいけど復旧に時間かかる。
64-512Mくらいまで。

■innodb_log_buffer_size
ログのバッファサイズ。
デフォルトで十分だけど増やしても8MB-16MBくらいまで。

■innodb_flush_log_at_trx_commit
設定しないと激遅。flush logをディスクにとるかメモリかとらないか。
1がディスク、2がメモリ、0がとらない。もちろん2

■max_allowed_packet
入力データ保持のための最大バッファサイズです。でかいファイルに必須。
例)max_allowed_packet=1M

■sort_buffer
ORDER BYやGROUP BYのクエリ速度を上げる。メモリが多くない限り必要なし。
例)sort_buffer=1M

■record_buffer
インデックスを使わないクエリ速度up
例)record_buffer=1M

■long_query_time
この秒数を超えるとslowクエリに認定
例)long_query_time=1

■join_buffer
join用バッファ
例)join_buffer_size = 131072

■query_cache
クエリのキャッシュ量。増やしすぎると更新が反映されない場合もあるので
あまりよくない。データベースのサイズに合わせて
32M-512Mくらいがベスト。