高性能参数模板简介
由于关系数据库MySQL版参数比较多,针对特定场景进行参数适配的学习成本比较高。为了满足客户对数据库性能的需求,关系数据库MySQL版推出了高性能参数模板,您可以将高性能参数模板直接应用于实例,或者基于该模板进一步配置参数组。
在通常情况下,高性能参数模板能够提升数据库的性能。
高性能参数说明
数据库版本5.7和8.0的相关高性能参数说明如下:
- binlog_cache_size:在事务中,为二进制日志存储SQL语句的缓存容量。该参数必须设置为2的幂次方。高性能参数模板将其默认值设置为较大值以提高性能。
高性能模板参数取值 | 默认参数值 |
---|---|
2097152 | 32768 |
- innodb_flush_log_at_trx_commit: 该参数控制提交操作在严格遵守ACID合规性和高性能之间的平衡,此变量用于控制Redo Log向磁盘刷写的策略。
高性能模板参数取值 | 默认参数值 |
---|---|
2 | 1 |
值为1:每次事务提交时,关系数据库MySQL版都会把日志缓存区的数据写入日志文件中,并且刷新到磁盘中。该值为默认参数模板的取值。
值为2:每次事务提交时,关系数据库MySQL版都会把日志缓存区的数据写入日志文件中,但是并不会同时刷新到磁盘上。该模式下,MySQL会每秒执行一次刷新磁盘操作。
说明
当设置为1,该模式是最安全的,但也是最慢的一种方式。在mysqld服务崩溃或者服务器主机宕机的情况下,日志缓存区只有可能丢失最多一个语句或者一个事务;
当设置为2,该模式速度较快,较取值为0情况下更安全,只有在操作系统崩溃或者系统断电的情况下,上一秒钟所有事务数据才可能丢失;
- sync_binlog:该参数控制MySQL服务器将二进制日志同步到磁盘的频率。
高性能模板参数取值 | 默认参数值 |
---|---|
1000 | 1 |
值为1:每次binlog写入后,都与磁盘同步、进行落盘。该值为默认参数模板的取值。
值为N:使binlog在每N次binlog日志文件写入后与磁盘同步。N=1000为高性能参数模板的取值。
说明
“innodb_flush_log_at_trx_commit”和“sync_binlog”两个参数设置为1的时候,安全性最高,写入性能最差。在mysqld服务崩溃或者服务器主机宕机的情况下,日志缓存区只有可能丢失最多一个语句或者一个事务。但是会导致频繁的磁盘写入操作,因此该模式也是最慢的一种方式。
当sync_binlog=N(N>1 ),innodb_flush_log_at_trx_commit=2时,在当前模式下关系数据库MySQL版的写操作才能达到最高性能。
影响和风险
- 当innodb_flush_log_at_trx_commit参数设置为非默认值“1”时,降低了数据安全性,在系统崩溃的情况下,可能导致数据丢失。
- 当sync_binlog参数设置为非默认值“1”时,降低了数据安全性,在系统崩溃的情况下,可能导致binlog丢失。
操作步骤
实例数据库版本为5.7或者8.0,都可按照如下步骤进行设置高性能参数模板。
-
在天翼云官网首页的顶部菜单栏,选择产品 > 数据库 > 关系型数据库 > 关系数据库MySQL版,进入关系数据库MySQL产品页面。然后单击管理控制台,进入TeleDB数据库概览页面。
-
在左侧导航栏,选择MySQL > 参数模板,进入参数组列表页面。然后在顶部菜单栏,选择区域和项目。
-
在参数组列表中,找到高性能参数组。
注意参数模板名称为57-High-Performance和80-High-Performance的参数组,即为高性能参数组。
-
管理高性能参数组:
- 单击操作列的应用,可以将高性能参数模板应用到相应版本的实例。
- 单击操作列的比较,可以查看两个参数组的参数值差异。
- 在操作列选择更多 > 复制,可以根据高性能参数模板创建参数组。