云服务器内容精选

  • 参数修改限制 “innodb_adaptive_hash_index”和“innodb_buffer_pool_size”参数同时修改时,“innodb_adaptive_hash_index”的值由“OFF”改为“ON”会失败。 “innodb_buffer_pool_size”参数值必须是“innodb_buffer_pool_instances”和“innodb_buffer_pool_chunk_size”参数值乘积的整数倍。 “innodb_buffer_pool_instances”参数值设置为“2”时,“innodb_buffer_pool_size”值必须大于等于1GB。 “max_prepared_stmt_count”:对于MySQL 8.0版本,如果内核版本低于8.0.18,参数取值上限为1048576,超过会修改失败。
  • 其他参数 “max_prepared_stmt_count”:准备大量的语句会消耗服务器的内存资源,参数设置较小,会带来潜在的“拒绝服务”的风险,建议您根据业务情况,调整该参数的值。 如下参数的输入会根据内核规则对取值进行对应的调整。调整的规则如下所示: “key_cache_age_threshold”会自动调整为100的倍数。 “join_buffer_size”和“key_cache_block_size”会自动调整为128的倍数。 “query_cache_size”、“query_prealloc_size”、“innodb_log_buffer_size”和“max_allowed_packet ”、“thread_stack ”会自动调整为1024的倍数。 “read_buffer_size”、“read_rnd_buffer_size”、“binlog_cache_size ”、“binlog_stmt_cache_size ”会自动调整为4096的倍数。 “data_buffer_size”、“log_buffer_size”、“shared_pool_size”、“temp_buffer_size ”会自动调整为1048576的倍数。 “binlog_format”:默认设置为row,表示将binlog记录成每一行数据被修改的形式,包括修改前和修改后的数据。建议不要对该参数进行修改,否则可能影响您的正常使用。 “log_timestamps”:控制记录各类日志中的时间戳时区,如错误日志、慢日志等。默认设置为系统时区,且无法修改。 “skip_name_resolve”:默认值为“ON”,表示跳过 域名 解析从白名单的IP中判断是否可以建立连接。 “innodb_strict_mode”:用于限制InnoDB的检查策略,默认值为“OFF”。 “binlog_rows_query_log_events”:该参数控制原始SQL是否记录到Binlog。开启时在特定大量数据更新等场景可能存在一定的性能劣化,修改该值应该考虑Otter等工具的兼容性。
  • 联动参数 “character_set_server”:修改该参数的值, 系统会联动调整“collation_server”、“character_set_database”,和“collation_database”的取值。 其中,“character_set_server”跟“collation_server”存在对应关系,“collation_server”的取值为以“character_set_server”值开头的字符序。例如:“character_set_server”为“latin1”时,“collation_server”的取值为以“latin1”开头的字符序。 “innodb_io_capacity”:该参数的取值必须小于等于“innodb_io_capacity_max”的取值。 比如“innodb_io_capacity_max”为“2000”, 则“innodb_io_capacity”最大设置为“2000”。 “innodb_buffer_pool_size”: 该参数受“innodb_buffer_pool_chunk_size ”* “innodb_buffer_pool_instances”的影响,为两参数乘积的整数倍向上取值。 比如“innodb_buffer_pool_chunk_size”为“134217728”,“ innodb_buffer_pool_instances”为“1”,那“innodb_buffer_pool_size”必须大于等于“134217728”。
  • 修改敏感参数 若干参数相关说明如下: “lower_case_table_names” 云数据库默认值:“1”。 作用:该参数表示创建库和表时,表名存储是否大小写敏感。默认值“1”,表示创建库和表时,表名默认存储为小写,且不区分大小写。 RDS for MySQL 8.0版本不支持修改该参数。 影响:修改该参数可能会导致主从复制异常,请谨慎修改。如果必须要修改,请根据以下场景设置数据库参数: 参数值从1变为0的设置顺序:先修改和重启只读库,后修改和重启主库。 参数值从0变为1的设置顺序:先修改和重启主库,在主库执行SELECT @@GLOBAL.GTID_EXECUTED。然后在只读库执行SELECT @@GLOBAL.GTID_EXECUTED,直到结果集合大于或者等于主库的SELECT @@GLOBAL.GTID_EXECUTED的结果集合,再修改和重启只读库。 “innodb_flush_log_at_trx_commit” 云数据库默认值:“1”。 作用:该参数控制提交操作在严格遵守ACID合规性和高性能之间的平衡。设置为默认值“1”,是为了保证完整的ACID,每次提交事务时,把事务日志从缓存区写到日志文件中,并刷新日志文件的数据到磁盘上;当设为“0”时,每秒把事务日志缓存区的数据写入日志文件,并刷新到磁盘;如果设为“2”,每次提交事务都会把事务日志从缓存区写入日志文件,每隔一秒左右会刷新到磁盘。 影响:参数设置为非默认值“1”时,降低了数据安全性,在系统崩溃的情况下,可能导致数据丢失。 POC建议值:“2”。 “sync_binlog” 云数据库默认值:“1”。 作用:该参数控制MySQL服务器将二进制日志同步到磁盘的频率。设置为默认值“1”,表示MySQL每次提交事务时,将Binlog同步写入磁盘,是最安全的设置;值为“0”时性能最好,表示MySQL不控制Binlog的刷新,由文件系统自己控制其缓存的刷新。此时的性能最好,但风险最大,因为一旦断电或操作系统崩溃,在“binlog_cache”中的所有Binlog信息都会被丢失。 影响:参数设置为非默认值“1”时,降低了数据安全性,在系统崩溃的情况下,可能导致binlog丢失。 POC建议值:“1000”。 “innodb_large_prefix” 云数据库默认值:“OFF”。 作用:InnoDB表允许单列索引的最大长度。 仅RDS for MySQL 5.6版本支持该参数。 影响:在DDL执行时修改该参数,有可能会导致主从复制异常,请谨慎修改。如果必须要修改,请根据以下场景设置数据库参数: 参数值从OFF变为ON的设置顺序:先修改只读库,后修改主库。 参数值从ON变为OFF的设置顺序:先修改主库,后修改只读库。 “innodb_buffer_pool_size” 云数据库默认值:“规格参数,不同实例规格默认值也不同”。 作用:该参数为Innodb缓冲池大小,用来缓存表和索引数据的内存区域,增加该值可减少磁盘I/O。 影响:过大的buffer pool可能导致系统崩溃,请谨慎修改。 POC建议值:32G及以上规格可将其调整至内存的70%~75%。
  • 修改性能参数 若干参数相关说明如下: “innodb_spin_wait_delay”和“query_alloc_block_size”依赖于实例的规格,设置过大时,可能会影响数据库的使用。 “max_connections”:允许同时连接的客户端总数,参数默认值取决于系统架构。系统内置连接数会占用一部分,不建议设置30以下,以避免并发连接冲突抢占。无法设置为小于当前连接数的值。 “innodb_buffer_pool_size”、“max_connections”和“back_log”参数依赖于实例的规格,实例规格不同对应其默认值也不同。因此,这些参数在用户未设置前显示为“default”。 “innodb_io_capacity_max”、“innodb_io_capacity”参数依赖于磁盘类型,用户未设置前显示为“default”。
  • 响应消息 正常响应要素说明 表2 要素说明 名称 参数类型 说明 configurations Array of objects 参数模板列表。 详情请参见表3。 表3 configurations字段数据结构说明 名称 参数类型 说明 id String 参数模板ID。 name String 参数模板名称。 description String 参数模板描述。 datastore_version_name String 数据库版本名称。 datastore_name String 数据库名称。 created String 创建时间,格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 updated String 更新时间,格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 user_defined Boolean 是否是用户自定义参数模板: false,表示为系统默认参数模板。 true,表示为用户自定义参数模板。 正常响应样例 { "configurations": [{ "id": "887ea0d1bb0843c49e8d8e5a09a95652pr01", "name": "configuration_test", "description": "configuration_test", "datastore_version_name": "8.0", "datastore_name": "mysql", "created": "2019-05-15T11:53:34+0000", "updated": "2019-05-15T11:53:34+0000", "user_defined": true }, { "id": "3bc1e9cc0d34404b9225ed7a58fb284epr01", "name": "Default-MySQL-5.7", "description": "Default parameter group for MySQL 5.7", "datastore_version_name": "5.7", "datastore_name": "mysql", "created": "2019-05-27T03:38:51+0000", "updated": "2019-05-27T03:38:51+0000", "user_defined": false } ] } 异常响应 请参见异常请求结果。
  • 修改性能参数 若干参数相关说明如下: 参数“log_statement”配置为“ddl”、“mod”或“all”,会记录创建及删除数据库用户的操作,包含数据库用户的密码等敏感信息,同时也会影响数据库的性能,请确认后进行配置。 开启参数“log_hostname”、“log_duration”、“log_connections”和“log_disconnections”会影响数据库的性能,请确认后进行配置。 “shared_buffers”参数配置的合理范围是系统内存的25%~40%,参数可配置的最大值为系统内存的80%,参数值过大会影响数据库的性能,请确认后进行配置。 “max_worker_processes”参数配置与“max_parallel_workers”、“max_parallel_workers_per_gather”参数值有关,建议根据业务需求进行配置,配置过大会影响数据库性能,请确认后进行配置。
  • 修改敏感参数 若干参数相关说明如下: 参数“search_path”值,必须配置为以逗号分隔的模式名序列,并需确保该模式名存在,否则会影响数据库的使用。 开启参数“log_duration”,可能会在日志中记录带有敏感信息的SQL语句,建议关闭该配置。 参数“log_min_duration_statement”用于设置最小执行时间,执行时间大于等于这个值的语句都将被记录,单位为毫秒。 值为0,表示记录所有语句,值为-1,表示不记录语句。具体请参见查看或下载FlexusRDS for PostgreSQ L实例 慢日志。 参数“temp_file_limit”是指在一个会话中触发临时文件写盘操作时,所有临时文件的总空间大小,单位为KB。取值范围为-1~2,147,483,647,值为-1,表示临时文件空间大小没有限制。 支持PostgreSQL 12、13、14、15版本。 通常避免设置值为-1,防止临时文件占用过多的磁盘空间,导致用户业务异常。 如果将参数值修改为较大值供临时使用,使用完成后没有将参数修改为原来的值,可能会导致误用临时空间导致占满磁盘停止用户业务,且用户实例变为异常。 “max_pred_locks_per_transaction”和“max_locks_per_transaction”参数的配置与“max_connections”、“max_prepared_transactions”的参数值有关,请结合实际业务需要进行配置,如果配置的参数值过大,可能会导致实例异常。
  • 高性能参数模板介绍 TaurusDB的高性能参数模板是一组经过优化的配置参数,旨在提高数据库服务器的性能和可靠性。这些参数模板可以根据不同的应用场景和硬件配置进行调整,以实现最佳的性能和可靠性。 TaurusDB高性能参数模板中的参数设置情况如下: 表1 高性能参数模板说明 参数名称 参数说明 高性能参数模板中的取值 默认参数模板中的取值 innodb_flush_log_at_trx_commit 设置为0后,事务提交时,日志不刷新到磁盘,只有每秒进行一次刷新,或当日志缓存区(innodb_log_buffer_size)写满时强制刷新。这提供了最低的持久性,但提供了最好的性能。 0 1 rds_plan_cache 打开后,执行计划会被缓存。下一次同一个查询可以重新利用缓存的执行计划,可有效提升数据库的查询性能。 ON OFF
  • 适用场景与潜在风险 通常情况下,高性能参数模板能够提升数据库的性能。但是不能一概而论,需要根据具体的应用场景和硬件配置进行调整。 高性能参数模板旨在提高数据库服务器的性能和可靠性,会导致数据库使用过程中存在一定风险。 innodb_flush_log_at_trx_commit设置为0后,能提升低并发写入性能,但极端场景下,丢失1秒钟的数据。 rds_plan_cache设置为ON后会缓存Prepare Statement的执行计划,减少优化器重新生成执行计划来提升查询性能,读写场景有失效限制。
  • 性能对比 测试环境: TaurusDB实例规格:独享型 8U32GB 内核版本:2.0.51.240300 Sysbench测试过程: 测试场景:只读、只写、读写 数据量:只读(250张表 * 25000行数据)、只写(250张表 * 25000行数据)、读写(25张表 * 250000行数据) 性能指标:测试在1、2、4、8、16、32、64、128、256并发数下的QPS(Queries per Second),即数据库每秒执行的SQL数。 测试结果: 只读模型 只写模型 读写模型 结论:从以上sysbench测试结果可以看出来,使用高性能参数模板对数据库的性能有明显的提升。
  • 修改性能参数 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,表示不受表数据变化比例的影响,一直生效。
  • 修改自定义参数模板并应用到实例 您也可以通过修改自定义参数模板中的参数值后,将该自定义参数模板应用到实例来实现实例参数的修改。 在“参数管理”页面的“自定义模板”页签,选择目标参数模板,单击参数模板名称。 默认在“参数”页签下,根据需要修改相关参数值。 图3 修改自定义参数模板值 根据参数列表中“是否需要重启”提示,进行相应操作: 是:参数修改完成后,需要重启实例使之生效。 修改主实例的某些参数,需重启主实例使之生效。如果是高可用实例,备节点的参数也会被同步修改 修改只读实例的某些参数,需要重启该只读实例使之生效。 否:无需重启,立即生效。 单击“保存”,在弹出框中单击“是”,保存修改。 单击“取消”,放弃本次设置。 单击“预览”,可对比参数修改前和修改后的值。 参数修改完成后,您可以单击“参数修改历史”查看参数的修改详情。 自定义参数模板中参数修改后,不会立即应用到当前使用的实例,您需要手动进行应用操作才可生效,具体操作请参见应用TaurusDB标准版参数模板。
  • 操作步骤 在“实时同步管理”界面,选择指定的同步任务。 单击任务名称,页面跳转至“基本信息”页面。 单击左侧“参数管理”,在“参数”页签可对当前同步任务的参数信息进行修改。 图1 查看参数信息 修改完成后,可选择“保存”或者“取消”设置。 单击“保存”,在弹出框中单击“是”,保存修改。 单击“取消”,在弹出框中单击“是”,放弃本次设置。 部分参数完成修改后,需要重启任务后才生效,可单击右上角“重启”按钮使之生效,也可参考重启同步任务内容进行重启。 除此以外,重置、续传、任务重建、主备倒换、全量阶段修改限速操作也会重启任务进程使设置生效。
  • 参数管理的页面权限? 权限设计 访问参数列表页:需要list权限: coc:parameter:list 获取参数详情:需要get权限:coc:parameter:get 删除参数:需要操作类权限:coc:parameter:delete 创建参数:需要操作类权限:coc:parameter:create 更新参数:需要操作类权限:coc:parameter:update 资源类权限(具体到某一个region下 && 某一个租户的一个参数):coc:*:*:parameter:name(第一个*代表所有regionID,第二个*所有租户,name代表参数名称) 资源类权限决定您可以访问哪些数据,操作类权限是对您有的资源类权限进行操作,常见问题: 如果您可以访问某个参数,但是您访问不了列表页,代表您缺少coc:parameter:list权限 如果您找不到指定的参数,需要确认是否有该参数的权限 coc:service-name:region:account-id:resource-type:resource-path这个是资源类权限的结构,*代表该层级所有权限,添加资源类权限需要按照这个格式填写 父主题: 参数管理常见问题