[CentOS6][Zabbix] Zabbix2.2 でのiowaitを大幅に減少させることができた。

    • 2013/12/09 10:40:01
    • Category: zabbix
     
    • 最終更新日時:-0001/11/30 00:00:00

    Embed
    zabbix_iowait0.png

    先日よりZabbix 2.2が公開されたわけですが、私の環境では常にiowaitが20~30%台をうろつく負荷状態でした。精神衛生上良くないので、自分でMySQLのチューニングなどを調べながらしてみたわけですが一向に改善せず、Twitterで呟いたところ、Zabbixではおなじみのくりゅー先生からアドバイスを頂けました。





    InnoDBへの圧縮は入れていましたが、対象のテーブルに対して圧縮を掛ける必要があるのは知りませんでした。早速くりゅー先生謹製の下記資料を読んで圧縮の設定を入れてみることにしました。

    検証環境;
    CentOS6.5 on KVM(Ubuntu 13.10)
    # cat /etc/redhat-release
    CentOS release 6.5 (Final)
    # cat /proc/cpuinfo | grep processor
    processor : 0
    processor : 1
    # free -m
    total used free shared buffers cached
    Mem: 3830 3253 577 0 132 1735
    -/+ buffers/cache: 1385 2445
    Swap: 4031 42 3989
    # mysql --version
    mysql Ver 14.14 Distrib 5.6.14, for Linux (x86_64) using EditLine wrapper



    Zabbix統合監視「実践」入門 ~障害通知、傾向分析、可視化による省力運用 (Software Design plusシリーズ)Zabbix統合監視「実践」入門 ~障害通知、傾向分析、可視化による省力運用 (Software Design plusシリーズ)
    (2010/04/08)
    寺島 広大

    商品詳細を見る


    自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~ /
    http://www.slideshare.net/qryuu/22-zabbix

    mysql> use zabbix
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A

    Database changed
    mysql> alter table history ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
    Query OK, 0 rows affected (12 min 56.34 sec)
    Records: 0 Duplicates: 0 Warnings: 0

    mysql> alter table history_log ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
    Query OK, 0 rows affected (8.00 sec)
    Records: 0 Duplicates: 0 Warnings: 0

    mysql> alter table history_str ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
    Query OK, 0 rows affected (18.63 sec)
    Records: 0 Duplicates: 0 Warnings: 0

    mysql> alter table history_text ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
    Query OK, 0 rows affected (20.84 sec)
    Records: 0 Duplicates: 0 Warnings: 0

    mysql> alter table history_uint ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
    Query OK, 0 rows affected (21 min 36.27 sec)
    Records: 0 Duplicates: 0 Warnings: 0

    mysql> alter table events ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
    Query OK, 0 rows affected (34.28 sec)
    Records: 0 Duplicates: 0 Warnings: 0

    mysql> alter table trends ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
    Query OK, 0 rows affected (35.93 sec)
    Records: 0 Duplicates: 0 Warnings: 0

    mysql> alter table trends_uint ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
    Query OK, 0 rows affected (1 min 46.85 sec)
    Records: 0 Duplicates: 0 Warnings: 0

    mysql> alter table items ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
    Query OK, 0 rows affected (3.77 sec)
    Records: 0 Duplicates: 0 Warnings: 0

    mysql> show table status like 'history'\G
    *************************** 1. row ***************************
    Name: history
    Engine: InnoDB
    Version: 10
    Row_format: Compressed
    Rows: 9346660
    Avg_row_length: 31
    Data_length: 294576128
    Max_data_length: 0
    Index_length: 132587520
    Data_free: 524288
    Auto_increment: NULL
    Create_time: 2013-12-06 22:44:51
    Update_time: NULL
    Check_time: NULL
    Collation: utf8_general_ci
    Checksum: NULL
    Create_options: row_format=COMPRESSED KEY_BLOCK_SIZE=8
    Comment:
    1 row in set (0.00 sec)

    mysql> quit

    上記の設定を入れることで下記のような結果を得ることが出来ます。


    また、以下の様なアドバイスも頂いたので、さらにMySQL側にチューニングを入れることにしました。


    /etc/my.cnf

    [mysqld]
    innodb_log_buffer_size=32M
    innodb_buffer_pool_size=2G
    innodb_log_file_size=256M
    innodb_log_files_in_group=2
    default-storage-engine=InnoDB
    innodb_file_format=Barracuda
    innodb_file_per_table=1
    innodb_thread_concurrency=20
    innodb_flush_log_at_trx_commit=2
    innodb_support_xa=0
    innodb_checksums=0
    innodb_doublewrite=0


    これを設定した上でMySQLを再起動させたところ、iowaitが最大30から5~8%まで下がる大幅な改善が見られました。
    zabbix_iowait.png

    というわけで今回も毎度ながらくりゅー先生のお力添えの結果、大幅な改善をすることが出来ました。
    本当にありがとうございました。

    同じような問題で悩んでいらっしゃる方がいらっしゃいましたら、是非くりゅー先生の資料を参考にしながらチューニングしてみてください。

    関連記事


    Pagination

    Trackback

    Trackback URL

    https://kometchtech.blog.fc2.com/tb.php/1290-f71144dd

    Comment

    Post Your Comment

    コメント登録フォーム
    公開設定

    Utility

    Profile

    kometchtech

    Author:kometchtech
    なんちゃってエンジニアです。
    2009年10月から業務都合により大阪勤務になりました。
    2010年1月、HYBRID W-ZERO3を購入しました。
    2010年11月、HTC Desire HDを購入しました。
    2012年2月、都内の会社に転職しました。
    2012年5月、HTC One Xを購入しました。
    2012年8月、事情により休職しました。
    2012年8月、SONY Xperia SXを購入しました。
    2013年1月、一身上の都合により退職しました。
    2014年3月、都内の会社に就職しました。
    2016年8月、HPC系の会社に転職しました。
    2018年6月、Xperia XZ1 compactに機種変。

    Amazonほしい物リスト
    何か問題などありましたら、こちらまで。 Twitter:@kometchtech follow us in feedly

    カレンダー

    11 | 2018/12 | 01
    - - - - - - 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 - - - - -

    記事リスト

    最新の記事

    全記事(数)表示

    全タイトルを表示

    バロメーター

    カテゴリー

    カテゴリークラウド

    アーカイブ

    検索フォーム

    FCカウンター

    オンライン

    現在の閲覧者数:

    Amazonアソシエイト

    スポンサードリンク

    月間ページランキング

    ブログパーツ

    サイトランキング