本文讲述当 OBServer 无主选举周期较长时,可以进行调优的配置参数。
为了提高 SYS 租户的性能,建议调整 SYS 租户的 Leader 位置到一个不受容灾切换影响的副本,并且和业务租户主副本放在不同的 Zone 上。
dead_socket_detection_timeout
- 参数含义:Server 之间的 RPC 探活时间。探测 5 次总时长超过
dead_socket_detection_timeout即认为连接不可用,进行连接回收。 - 容灾场景使用值:1s
- 参数调整影响:调小参数可以快速将无效连接进行回收。但调节过小也不行,比如当此参数设置过小,在事务处理中,中间存在空等待的场景,由于中间没有数据包交互,连接会被误杀掉。
location_cache_expire_time
- 参数含义:分区位置缓存中分区位置信息的过期时长。
- 容灾场景使用值:10s
- 参数调整影响:调小该参数会加快刷新 Location Cache,但是会使用更多 CPU 资源。
location_refresh_thread_count
- 参数含义:OBServer 从 RootService 中获取 Partition 的位置信息的线程数。
- 容灾场景使用值:24
- 参数调整影响:加快 OBServer 获取 Partition 的速度,会占用 CPU 资源。
election_blacklist_interval
- 参数含义:Leader 卸任后,从当前时间开始,此副本不会被重新改选为 Leader 的时间间隔。例如可以避免以下问题:发生问题的 Server/Zone 在副本 Leader 切换到正常工作的 Server/Zone 后,自动改选回到有问题的 Server/Zone。
- 容灾场景使用值:0s
- 参数调整影响:
- 如果调整过大,会存在此期间已恢复的副本由于在黑名单内不能被选为主的情况。
- 如果调整过小,不易抵御网络抖动带来的频繁切主问题。
适用版本
OceanBase 数据库 V2.x 和 V3.x 版本。