すったもんだあった自宅環境の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統合監視徹底活用 ~複雑化・大規模化するインフラの一元管理 (Software Design plus) | TIS株式会社, 池田 大輔 |本 | 通販 | Amazon
基礎からのMySQL 改訂版 (基礎からシリーズ) | 西沢 夢路 |本 | 通販 | Amazon