my.cnfでチューニング
[mysqld]
port = 3306 #起動ポート番号。セキュリティ面から変更しておいた方がいい場合もある
set-variable = key_buffer=256M #メモリに余裕がある場合に指定。検索に使われるインデックスをバッファに保存する際のメモリサイズ
set-variable = max_allowed_packet=1M #入力データ保持のための最大バッファサイズ。画像など、大きなデータ挿入でこの制限に引っ掛かる可能性がある
set-variable = table_cache=256 #頻繁なアクセスに対し、データのキャッシュでディスクのI/O負荷を減らす場合に使用
set-variable = sort_buffer=1M #値を大きくすることでORDER BYやGROUP BYをクエリーに用いた場合に速度を上げる
set-variable = record_buffer=1M #値を大きくすることでインデックスを含まないクエリーの実行速度を上げる
set-variable = long_query_time=1 #mysqladmin statusコマンドで表示されるSlow queriesにカウントされる場合のしきい値。単位は秒
その他設定my.cnfの[mysqld]項目に書く
バッファサイズ、長さ、およびスタックサイズの値はバイト単位。
`K' または `M' を値に付けると、それぞれキロバイト、メガバイトを示す。
key_buffer検索に使われるインデックスをバッファに保存する際のメモリサイズです。
メモリに余裕がある場合増やすとパフォーマンスが向上します。
例)
key_buffer=256M
table_cacheデータのキャッシュサイズです。
値を大きくすることでディスクのI/Oが減りパフォーマンスが向上します。
例)
table_cache=256
max_allowed_packet入力データ保持のための最大バッファサイズです。
画像など、大きなデータ挿入をおこなう際に増やします。
例)
max_allowed_packet=1M
sort_bufferソートをおこなう際に使用するバッファサイズです。
値を大きくすることでORDER BYやGROUP BYをクエリーに用いた場合のパフォーマンスが向上します。
例)
sort_buffer=1M
record_buffer値を大きくすることでインデックスを含まないクエリーの実行速度が上がります。
例)
record_buffer=1M
long_query_timemysqladmin statusコマンドで表示されるSlow queriesにカウントされる場合のしきい値(単位は秒)を指定します。
例)
long_query_time=1
join_buffer大量のjoin が発行される場合はjoin_bufferを増やします。
例)
join_buffer_size = 131072
defaultの確認
shell> mysqld --help
参考URL
http://kapi.jp/kapi_blog/107
2008年01月16日
関連カテゴリ Mysql