CentOS+apache+MySQL Linuxサーバー MySQLサーバーの設定をチューニングする

CentOS+apache+MySQL Linuxサーバー MySQLサーバーの設定をチューニングする
ディスクIOの分散などを施したが、CPU負荷を表すCPU load averagesの値が以前高い値を示すまるむしサーバー。
残るはデータベースサーバー(MySQL)がかなり怪しい。
なんたって導入後一度もチューニングしていないのだ。
ということでとりあえず状態を確認するために、お手軽にphpMyAdmin(DB管理ツール)から様子を見てみることに。
phpMyAdmin
ツールからレポートを見るのは「MySQLのランタイム情報」だ。
問題があると思われる値は、赤い文字で示されている。
但し、すべてを鵜呑みにして赤字箇所を解消する必要があるということではない。
CMSツールなどを導入しているとこれらをすべて解消することはたぶん難しい。
チェックしなければならない箇所を絞り込んでくれているという見方のほうがいいかもしれない。
原因となっていそうな項目をピック。
key_buffer
table_cache
record_buffer
tmp_table_size
max_heap_table_size

様子を見ながら微調整と行きたいところだがとりあえずサックっと改善して効果を確かめたいので
ちょっと大きめに設定するような感じ値を適当に設定
key_buffer=512
table_cache=512
record_buffer=1M
tmp_table_size = 256M
max_heap_table_size=256M

設定値が結構いい線出しているのか、的外れなのかは使用環境によるので参考になるかは怪しいが、
同様の現象で困っているなら、まずチューニングすべき項目はこれらだ。
この設定を /etc/my.cnf に追記するし、設定を反映あるいはデータベースを再起動。
様子を見る….WEBサーバーにがんがんアクセスして負荷を掛けてみる...
おおぉぉいい感じ! 
CPU負荷を表すCPU load averages も0.02 だ。
少々の負荷でも1にはならない。実に健全だ。
FTPパラでファイルを転送させた状態で、更にWEB(wordpressなど)にアクセスをかけると
CPU load averagesは2.5ぐらいに上昇するが、処理を終了すればほどなく正常値に戻ってくれるようになった。
悪循環のスパイラルはもうない。
しかし雑なチューニングでこれほどまでに効果が出てしまうとは今までなんといいかげんな設定だったことか。^^;
ちなみにデータベースは快適に動作していますが、
「MySQLのランタイム情報」を見ると赤字項目はまだまだ残ったままです。
試しにキャッシュサイズなど言われるがままにどんどん大きくしてみましたが解消されることはありませんでした。
そんな単純なもんじゃないって事ですね。トータルバランスが大事です。

【送料無料】MySQLによる最速RDBMS構築ガイド

【送料無料】MySQLによる最速RDBMS構築ガイド
価格:3,570円(税込、送料別)

シェアする

フォローする