zabbix 數據庫更換 TokuDB 引擎

zabbix 更換 TokuDB 過程(我用的是percona db):
wget http://www.percona.com/redir/downloads/Percona-Server-5.6/LATEST/binary/redhat/6/x86_64/Percona-Server-tokudb-56-5.6.19-rel67.0.el6.x86_64.rpm 
yum install jemalloc
rpm -ivh Percona-Server-tokudb-56-5.6.19-rel67.0.el6.x86_64.rpm

 執行:
mysql

mysql -e "INSTALL PLUGIN tokudb SONAME 'ha_tokudb.so';"
mysql -e "INSTALL PLUGIN tokudb_file_map SONAME 'ha_tokudb.so';"
mysql -e "INSTALL PLUGIN tokudb_fractal_tree_info SONAME 'ha_tokudb.so';"
mysql -e "INSTALL PLUGIN tokudb_fractal_tree_block_map SONAME 'ha_tokudb.so';"
mysql -e "INSTALL PLUGIN tokudb_trx SONAME 'ha_tokudb.so';"
mysql -e "INSTALL PLUGIN tokudb_locks SONAME 'ha_tokudb.so';"
mysql -e "INSTALL PLUGIN tokudb_lock_waits SONAME 'ha_tokudb.so';"

修改my.cnf 文件:
plugin-dir = /usr/lib64/mysql/plugin
plugin-load=ha_tokudb.so
tokudb_row_format = tokudb_fast
tokudb_cache_size = 8G
tokudb_commit_sync = 0
tokudb_directio = 1
tokudb_read_block_size = 128K
tokudb_read_buf_size = 128K

重啓mysql 服務
/etc/init.d/mysql restart

修改表引擎:
mysql>use zabbix
mysql>alter table history_uint engine=TokuDB;
mysql>alter table history engine=TokuDB;

完成後再看文件:sql

409M  _zabbix_sql_8a46_c_key_history_uint_1_f_1_19_B_0.tokudb
190M  _zabbix_sql_8a46_c_key_history_1_26c_1_19_B_0.tokudb

壓縮比仍是很厲害shell

防止內存泄露,執行:
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag


最後,如何使用TokuDB?

若是你要存儲blob,不要使用TokuDB,由於它限制記錄不能太大;
若是你的記錄數量過億,使用TokuDB;
若是你注重update的性能,不要使用TokuDB,它沒有Innodb快;
若是你要存儲舊的記錄,使用TokuDB;
若是你想要縮小數據佔用的存儲空間,使用TokuDB;性能

查看http://rdc.taobao.com/blog/cs/?p=1176ui

參考:http://itindex.net/detail/50162-zabbix-%E6%95%B0%E6%8D%AE%E5%BA%93-tokudbspa

相關文章
相關標籤/搜索