[ #zabbix ][ #maridb ][個人用メモ] やっぱりZabbixで使用しているデータベースをMariaDB 5.5から10.0にしてみた。

AIX、UNIX、Linuxzabbix

すったもんだあった自宅環境のZabbixサーバのiowaitが高い問題があったわけですが、MariaDB 10.0がGAになったのに合わせてやっぱり切り替えてみることにしました。

確認環境:

# cat /etc/redhat-release
CentOS release 6.6 (Final)
# cat /proc/version
Linux version 3.18.11-kometch-build-20150418.el6 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) ) #1 SMP Sat Apr 18 00:50:16 JST 2015
# free -m
total       used       free     shared    buffers     cached
Mem:          8003       1265       6738         10         46        245
-/+ buffers/cache:        973       7030
Swap:         8191          0       8191

とりあえず今のところはiowaitが高止まりしていた現象は出ていません。
というのも、バージョンアップに合わせて再度my.cnfを見なおしています。

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
tmpdir = /tmp/mysqltmp
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
innodb_file_per_table=1
innodb_flush_method=O_DIRECT
innodb_log_files_in_group=2
innodb_log_file_size=128M
innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=2
innodb_buffer_pool_size=6400M
innodb_file_format=Barracuda
innodb_buffer_pool_instances=8
innodb_thread_concurrency=4
innodb_io_capacity=100
innodb_io_capacity_max=200
innodb_read_io_threads=4
innodb_write_io_threads=4 
default-storage-engine=InnoDB
# Customize
thread_cache_size=32
thread_cache=32
max_connections=100
max_allowed_packet=16M
query_cache_limit=4M
query_cache_type=1
query_cache_size=32M
join_buffer_size=4M
read_buffer_size=1M
wait_timeout=1200
character-set-server=utf8
# limits
tmp_table_size = 512M
max_heap_table_size = 256M
table_cache = 512
# MyISAM
myisam_sort_buffer_size=1M
myisam_max_sort_file_size=1M
myisam_repair_threads=1
key_buffer_size=1M
sort_buffer_size = 8M
read_buffer = 1M
#write_buffer = 0M
[mysqld_safe]
log-error=/var/log/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

やっすいKVM基盤上で稼働しているので、どうしてもストレージの性能がでないのでIO自体を制限する方向に持って行っています。innodb_io_capacityはそのためのパラメータで最低値の100にしました。参考情報などを見ているとHDDのIOPSぐらいということで、こんなもんかなという感じです。

監視項目は2811ありますが、キューに貯まることはない感じです。

あとはinnodb_flush_log_at_trx_commitをデフォルトの1から2へ変更しました。
ディスクへのフラッシュがcommit毎から毎秒に変わるので一貫性自体は怪しくなりますが、ディスクへの負荷自体は軽くなります。自宅環境ということもあるので、データの保護についてのリスクは承知のうえで変更しました。

zabbix.jpg

ということで上記のような感じになりました。

とりあえずは当分この構成で見ていこうと思います。

Zabbix統合監視徹底活用 ~複雑化・大規模化するインフラの一元管理 (Software Design plus) | TIS株式会社, 池田 大輔 |本 | 通販 | Amazon
基礎からのMySQL 改訂版 (基礎からシリーズ) | 西沢 夢路 |本 | 通販 | Amazon

この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。じつはRouterboard User Group JPの中の人でもある。 Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

kometchtechをフォローする
タイトルとURLをコピーしました