Adachinですっ。
二ヶ月前、Zabbixサーバがやたら重くなったお話なのですが、
ロアベ、Diski/o、CPU、→荒ぶる
スクリーンでのグラフ表示がめちゃめちゃ遅い。。
スペック悪いし、どうしようもないなあと相談ちらほら。
さすがにこのままではアカンと思い、原因を調べてみました!
■Zabbixサーバ情報
CPUコア数:4
メモリー:8GB
Disk i/oが高い… 30くらい出てますね。CPUも荒ぶってる。
■なにが原因なのか確認
とりあえず
1 | $ htop |
mysqlがやたら張り付いていたので、DBのチューニングかなと。
・当時のmy.cnf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 character-set-server=utf8 long_query_time=1 log-slow-queries=/var/log/slow.log log-queries-not-using-indexes [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid |
■対応
DBのキャッシュサイズが小さいとディスクIOに依存するので、
結果 遅くなる!!!
ので以下をmy.cnfに追加した。
1 2 | [mysqld] innodb_buffer_pool_size=2048M |
ちなみにこの設定が入っていないと初期値が8MBという…少なすぎw
そんでもってinnodb使われているのか確認してみた。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | mysql select table_name, engine from tables where table_schema = "zabbix"; +-----------------------+--------+ | table_name | engine | +-----------------------+--------+ | acknowledges | InnoDB | | actions | InnoDB | | alerts | InnoDB | | application_template | InnoDB | | applications | InnoDB | | auditlog | InnoDB | | auditlog_details | InnoDB | | autoreg_host | InnoDB | | conditions | InnoDB | | config | InnoDB | | dbversion | InnoDB | | dchecks | InnoDB | | dhosts | InnoDB | | drules | InnoDB | | dservices | InnoDB | | escalations | InnoDB | | events | InnoDB | | expressions | InnoDB | | functions | InnoDB | | globalmacro | InnoDB | | globalvars | InnoDB | | graph_discovery | InnoDB | | graph_theme | InnoDB | | graphs | InnoDB | | graphs_items | InnoDB | | group_discovery | InnoDB | ~省略~ |
間違いなくInnoDBを使用したので設定反映した。
■結果どうなったのか
うおおおおおおおおお!!!!
スクリーンの表示も一瞬でした。
■まとめ
apacheのチューニングもしてみたが、たいして変わりませんでした。
poolサイズのメモリーもっとあげていいかも。
参考:http://moriya.xrea.jp/tdiary/20111117.html
0件のコメント