更新时间:2024-12-16 GMT+08:00
分享

TaurusDB参数调优建议

数据库参数是数据库系统运行的关键配置信息,设置不合适的参数值可能会影响业务。本文列举了一些重要参数说明,更多参数详细说明,请参见MySQL官网

通过控制台界面修改TaurusDB参数值,请参见修改TaurusDB实例参数

修改性能参数

  • innodb_flush_log_at_trx_commit

    数据库默认值:1

    作用:该参数控制提交操作在严格遵守ACID合规性和高性能之间的平衡。

    设置为默认值1时,是为了保证完整的ACID,每次提交事务时,把log buffer中的数据从缓存区写到日志文件中,并刷新日志文件的数据到分布式存储上。

    当设为0时,InnoDB每秒钟将log buffer中的数据写入日志文件,并刷新到分布式存储上。

    当设为2时,InnoDB在每次事务提交时将log buffer中的数据更新到文件系统缓存中,每秒钟并刷新到分布式存储上。

    影响:参数设置为非默认值1时,降低了数据安全性,在系统崩溃的情况下,可能导致丢失1秒钟的事务。

    POC建议值:0,可以显著提升低并发写入性能。

  • rds_global_sql_log_bin

    数据库默认值:OFF

    作用:该参数控制动态开启/关闭Binlog。TaurusDB采用共享存储架构,主节点和只读节点不依赖于Binlog进行数据同步。当用户不需要Binlog时,可以通过此开关动态关闭Binlog。

    设置为默认值OFF时,动态关闭Binlog,不需要重启(在已有的连接和新连接上都生效)。

    当设置为ON时,动态开启Binlog,不需要重启(在已有的连接和新连接上都生效)。

    影响:当客户不需要Binlog时,可以动态关闭Binlog,对该实例无影响。

    POC建议值:OFF,可以提升写入性能。

    • 2.0.42.230601及之前的版本默认开启Binlog,可以通过参数log-bin关闭或开启Binlog,修改该参数需要重启。
    • 2.0.45.230900及以后版本默认关闭Binlog,可以通过参数rds_global_sql_log_bin动态开启或关闭Binlog。
  • rds_plan_cache

    数据库默认值:OFF

    作用:Plan Cache特性是缓存Prepare Statement的执行计划,减少优化器重新生成执行计划来提升查询性能。

    当rds_plan_cache设置为ON,Prepare Statement的执行计划会被缓存,下一次Execute时可以重新利用缓存的执行计划,提升查询性能。

    影响:提升Prepare Statement语句的查询性能,对sysbench的select_random_ranges测试模型提升效果显著。

    POC建议值:ON,可以提升查询性能。

    • 2.0.51.240300及以后版本,可以开启此特性。
    • rds_plan_cache用的不是innnodb_buffer内存,用的是stmt mem内存区域分配的内存。
    • rds_plan_cache_allow_change_ratio:当查询访问的表数据发生变化,例如DML语句导致表数据发生变化,变化比例超过此参数设置的阈值时,plan cache会失效。设置为0,表示不受表数据变化比例的影响,一直生效。

相关文档