mytips.exblog.jp ブログトップ

MySQLのチューニング my.cnf編集 (メモリが少ないマシン)
☆☆MySQLの利用がそれほどでもないのに、CPUが高負荷☆☆


■現在の状態をしらべる
設定値を見る方法
mysqladmin -p variables | grep -i max_connections

現在のステータスを見る方法
show status like '%thre%';

------------------------

初期値では
mysqladmin -p variables | grep -i thread_cache
とすると

thread_cache_size が0になっている
この場合、毎度スレッド起動が行われるのでがCPUに負荷を与えている場合がおおい


スレッドを作った回数を
show status like '%thre%';
で調べる。
| Threads_created | 419 |
(MySQLを起動して通算回数がでるので、この数が数分で増えていくようならば改善の余地がある)


■改善方法

MySQLのコンフィグを編集し
vi /usr/local/etc/my.cnf

以下を追加
[mysqld]
thread_cache=100



☆☆さらにチューニング☆☆
搭載メモリが厳しいマシンなので、

必要メモリ数を算出
key_buffer + (( sort_buffer + record_buffer ) * max_connections)
8388600 + ((2097144 + 131072) * 100)
いまの設定だとおよそ220MB(計算があっているかどうか分からないが、そんなもんかな?)

statusでみると
Max_used_connectionsは、100に到底届かないから減らす

mysqladmin -p variables | grep -i max_connections
| max_connections | 100
となっているものを半分に
vi /usr/local/etc/my.cnf

max_connections=50
あわせて
thread_cache=50
に変えておく

これで計算上
8388600 + ((2097144 + 131072) * 50)





☆☆さらにチューニング☆☆
ソートを多様するのでバッファを増やしてみる

現在の設定値を見る
mysqladmin -p variables | grep -i sort_buffer

| sort_buffer_size | 2097144

2MB?

/usr/local/etc/my.cnfに下の1行を追加

sort_buffer_size=4M

mysqlを再起動
もう一度設定値を確認
mysqladmin -p variables | grep -i sort_buffer

sort_buffer_size | 4194296

4194296 / 1024 / 1024 = 3.99999 (4M。計算合っている)
[PR]
by sato025 | 2007-10-09 16:40
検索
タグ
カテゴリ
以前の記事
最新のコメント
最新のトラックバック
Tool
from adgj.net wiki ..
Googleウェブマスタ..
from i yahoo i.com:..
[Mac] NAV fo..
from あるネットワーク管理者(よっ..
ライフログ
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧


var gaJsHost = (("https:" == doc ument.loc ation.protocol) ? "https://ssl." : "http://www.");doc ument.write(unesc ape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));var pageTracker = _gat._getTracker("UA-103429-5");pageTracker._trackPageview();