操作步骤
- 登录DRDS控制台。
- 在实例列表页面,点击目标实例的【管理】按钮,进入实例基本信息页面。
- 在左侧导航栏选择【分组管理】栏目,进入目标实例的分组管理页面。
- 在分组管理页面,找到目标分组,点击【属性设置】按钮,进入到属性设置页面。
- 在属性设置页面中,可以直接进行属性值修改或点击【重置】按钮重置为默认值。
server 分组
属性编码 |
属性名称 |
说明 |
clientFoundRows |
clientFoundRows |
返回给客户端的结果行数,显示为找到(配置)行数,而不是被修改的行数。 |
clientIgnoreSigpipe |
clientIgnoreSigpipe |
阻止客户端库安装一个SIGPIPE信号处理器。这个可以用于当应用程序已经安装该处理器的时候避免与其发生冲突。 |
clientInteractive |
clientInteractive |
使用关闭连接之前的不活动交互超时,而不是等待超时秒数。客户端的会话等待超时变量变为交互超时变量。 |
clientNoSchema |
clientNoSchema |
不允许“数据库名.表名.列名”这样的语法。 |
clientIgnoreSpace |
clientIgnoreSpace |
允许在函数名后使用空格。所有函数名可以预留字。 |
frontWriteQueueSize |
数据汇集时的前端写队列大小 |
针对数据汇集场景。写队列用于暂存写给前段连接的数据,队列越大,越占用DBProxy内存,支持在线加载,但后续的请求才生效。 |
enableDataMergeLimit |
开启数据归并排序限制 |
开启限制归并排序超过dataMergeLimit行数据后,可用内存如果小于20%,则中止这次归并排序,支持在线加载,但后续的请求才生效。 |
dataMergeLimit |
数据归并排序限制行数 |
当需要归并的数据行超过该行数后,对可用内存进行判断,超过限制则中止排序,支持在线加载,但后续的请求才生效。 |
frontConnectionIdleCheckThreshold |
前端连接空闲检测阈值 |
当前端连接数超过此阈值时,才kill空闲前端连接(配置了【前端连接数不受限】属性的用户建立的连接不计算在内)。 |
writeQueueLimit |
前端写队列的限制 |
是否开启前端写队列的限制。 |
writeQueueStop |
前端写队列的最大长度 |
前端写队列的最大长度,超过这个值,会暂停写队列。 |
writeQueueRecover |
恢复写队列阈值 |
暂停写队列后,当队列少于阈值,会恢复写队列。 |
vip |
vip |
vip地址。 |
sqlProtectorHandle |
SQL黑名单处理方式 |
SQL黑名单处理方式。 |
autoAddSqlProtectorBlacklist |
发现过载语句时,是否自动加入黑名单 |
发现过载语句时,是否自动加入黑名单。 |
enableRunningSlowSqlDetect |
开启超慢SQL探测 |
开启超慢SQL探测。 |
runningSlowSqlThreshold |
正在执行的语句执行超过此时间算超慢SQL,单位秒 |
正在执行的语句执行超过此时间算超慢SQL,单位秒。 |
runningSlowSqlDetectInterval |
正在执行的超慢语句探测间隔,单位秒 |
正在执行的超慢语句探测间隔,单位秒。 |
maxSqlProtectorBlacklist |
过载保护SQL黑名单最大数量 |
过载保护SQL黑名单最大数量。 |
insertHint |
附加Hint |
是否在每个执行语句上附加hint /* xx.xx.xx.xx: port -> xxx@xx.xx.xx.xx:port */。 |
killSelect |
主动发起kill命令 |
连接异常关闭时,若最后一条执行的是 select。开关控制是否主动发起kill命令。 |
optimizeTransactionSelect |
事务中select语句数据库连接释放优化 |
不开启优化:从事务开始执行语句时就绑定对应分片的后端数据库连接,直到事务完成才释放后端数据库连接。开启优化:如果事务一开始执行的是select语句则不绑定后端数据库连接,直到事务开始执行修改语句(update、delete、insert)才绑定对应分片的后端数据库连接,事务完成释放后端数据库连接。 |
processors |
多路IO复用反应器个数 |
前端连接及后端连接的read/write事件都是由这些反应器处理,默认与CPU的核数设置成一样,如果并发不高时可适当调小。 |
processorExecutor |
前端逻辑处理线程池大小 |
前端逻辑处理主要包括:MySQL数据包解析、SQL语法解析、SQL路由,后端数据汇聚处理线程池的大小也用了这个参数,后续独立设置,默认设置为CPU核数的四倍,如果压测性能上不去,可以适当调大此参数。 |
idleTimeout |
连接空闲超时时间(毫秒) |
前后端连接都使用此参数,检查线程发现连接距离上次使用超过了空闲超时时间,那么这个连接会被关闭,默认30分钟。 |
bindIp |
DBProxy服务监听的IP 地址 |
DBProxy服务监听的IP地址,默认值为0.0.0.0。 |
dataNodeIdleCheckPeriod |
后端连接池清理时间间隔(毫秒) |
对连接池进行管理,idle连接数过多时回收连接,过小时创建连接,默认5分钟(300000 毫秒)。 |
processorBufferChunk |
BufferPool中chunk大小(Byte) |
BufferPool初始化时Socket Direct Buffer 的大小(字节),相比使用堆内内存少一次复制,加快socket读写速度,这个值与mysql数据包的大小相关,大部分数据包大小在chunk大小范围内比较合理,但不宜设置过大,会造成内存浪费。 |
processorBufferPool |
BufferPool中chunk个数 |
BufferPool总大小=processorBufferPool*processorBufferChunk。 |
maxPacketSize |
MySQL数据包最大长度(M) |
默认为16M,必须与MySQL设置max_allowed_packet_size参数一致。 |
charset |
连接的初始化字符集 |
连接的初始化字符集,默认utf8。 |
sqlExecuteTimeout |
SQL执行超时的时间(毫秒) |
检查线程发现后端SQL执行如果超过此时间,会主动断开连接,返回错误给前端,默认300秒。 |
processorCheckPeriod |
前后端连接状态检查间隔时间(毫秒) |
检查线程按间隔时间定时对前后端连接状态进行检查, 对空闲超时、后端执行超时的连接作关闭处理,默认为1秒。 |
dataNodeHeartbeatPeriod |
心跳间隔时间(毫秒) |
对后端所有读、写节点发起心跳的间隔时间,主要是用作主从切换,目前dbproxy的主从切换是由gateway实现, 所以此功能废除,默认10秒。 |
enableLargeDataMerge |
开启大数据流式汇聚功能 |
是否开启大数据流式汇聚的开关,true为开启,false为关闭。 |
frontendConnPrintInterval |
前端连接数打印间隔(毫秒) |
前端连接数打印间隔(毫秒),默认值60*1000。 |
backendConnPrintInterval |
后端连接数打印间隔(毫秒) |
后端连接数打印间隔(毫秒),默认值60*1000。 |
useStatementConditionExtract |
使用statement解释去做条件抽取 |
是否使用statement解释去做条件抽取。 |
maxExecutionTime |
mysql级别的SELECT最大执行时间,单位毫秒 |
SELECT语句的执行超时,以毫秒为单位。如果该值为0,则不会启用超时。 |
enablePrepareStatement |
支持服务端PrepareStatement |
是否支持服务端PrepareStatement,true为支持,false为不支持。 |
transaction 分组
属性编码 |
属性名称 |
说明 |
dtHoldRequestWhenLock |
是否hold住请求 |
出现补偿时,是否hold住请求。 |
dtHoldTimeOut |
请求hold住的时间(毫秒) |
出现补偿锁时,请求hold住的时间(毫秒)。 |
dtBackupZkLock |
是否对释放的锁进行备份 |
是否对释放的锁进行备份。 |
prohibitCrossTransaction |
是否禁止跨分片动作 |
是否禁止跨分片动作,true为禁止,false为不禁止。 |
isMultiNodeSerialization |
是否进行串行化 |
一个写SQL涉及多节点操作时,是否进行串行化。 |
isAutoStartDT |
是否自动启动分布式事务 |
当前事务不是分布式事务时,是否自动启动分布式事务。 |
isIgnoreRestartDT |
是否自动忽略后面的分布式事务 |
当重复启动分布式事务时,是否自动忽略后面的分布式事务。 |
maxTransactionTabLength |
分布式事务启动时添加的标记的最大长度 |
分布式事务启动时添加的标记的最大长度。 |
compensationLock |
是否添加事务补偿锁 |
事务部分commit失败,对表加锁,默认为false。 |
slaveMasterCommit |
是否先从后主提交 |
commit的时候先对从节点commit再对主节点commit,默认值为false。 |
txIsolation |
前端链接默认事务隔离级别 |
READ_UNCOMMITTED=1,READ_COMMITTED=2,REPEATED_READ=3,SERIALIZABLE=4支持在线加载,但后续的请求才生效。 |
sqlMode |
SQL模式 |
前端链接默认SQL模式,与mysql的sql_mode属性可选值保持一致,如不一致,则设置无效。 |
enableXA |
是否开启xa事务 |
是否开启xa事务。 |
xaStorage |
XA事务状态存储 |
XA事务状态存储。 |
xaSubmitTimeout |
XA事务提交超时时间,单位是秒 |
XA事务提交超时时间,单位是秒。 |
xaZkUrl |
用于XA存储的ZK地址 |
用于XA存储的ZK地址。 |
xaZkPath |
用于XA存储的ZK节点 |
用于XA存储的ZK节点。 |
xaZkDigest |
用于XA存储的ZK Digest |
用于XA存储的ZK Digest。 |
monitor 分组
属性编码 |
属性名称 |
说明 |
enableMetricMonitor |
是否开启指标监控 |
是否开启指标监控。 |
reportQueueLen |
上报队列长度 |
上报队列长度。 |
monitorEventHandleThreads |
监控事件处理线程数 |
监控事件处理线程数,0表示配置为系统可用线程数。 |
monitorEventQueueLen |
监控事件队列长度 |
监控事件队列长度。 |
说明
将鼠标放在属性编码列可以显示对应属性的提示信息,大部分情况下按默认设置即可。