Tokudb 参数优化

时间:2023-03-09 16:21:12
Tokudb 参数优化
tokudb_row_format

tokudb_fast: 使用quicklz 库的压缩模式。(推荐)
tokudb_small: 使用 lzma 库的压缩模式。
tokudb_zlib: 使用 zlib 库的压缩模式,提供了中等级别的压缩比和中等级别的CPU消耗。
tokudb_quicklz: 使用 quicklz 库的压缩模式, 提供了轻量级的压缩比和较低基本的CPU消耗。
tokudb_lzma: 使用lzma库压缩模式,提供了高压缩比和高CPU消耗。
tokudb_uncompressed: 不使用压缩模式。

tokudb_cache_size

缓存大小,读写时候,数据会首先会缓存到这里,比如:16G 主要看数据量和物理内存情况,理论上越大越好,默认物理内存的一半

tokudb_commit_sync 当事务提交的时候,是否要fsync log到磁盘。默认开启(ON),如果设置为OFF(推荐),性能会提升,但可能会丢失事务(commit记录到log buffer,但是未fsync到磁盘的事务)。
tokudb_fsync_log_period(ms)

多久fsync一下log buffer到磁盘,TokuDB的log buffer总大小为32MB且不可更改。默认为0ms(此时做fsync的后台线程一直处于wait状态),此时受tokudb_commit_sync开关控制是否要fsync log到磁盘(checkpoint也会fsync log buffer的,默认为1分钟)。

推荐设为1000,每1秒对log buffer做下fsync,可充分利用log的group commit功能,如果TokuDB挂掉,则可能会丢失最多1秒的数据。

tokudb_directio 是否开启Direct I/O功能,TokuDB在写盘的时候,无论是否开启Direct I/O,都是按照512字节对齐的。默认为OFF。推荐开启
tokudb_read_block_size 默认64k
tokudb_read_buf_size 默认128k
tokudb-data-dir 推荐与mysql数据目录完全独立,不要放在数据目录下面,会被误认为是一个数据库
tokudb-log-dir 比如:数据目录 /data/mysql  /data/tokudb/data /data/tokudb/log
   
   
   

参考 https://www.percona.com/doc/percona-tokudb/variables.html