本文汇总了PolarDB数据库代理相关的常见问题。
为什么刚插入的语句,立即查的时候查不到?
读写分离的架构下,主节点和只读节点之间复制会有延迟,但PolarDB支持会话一致性,即同一个会话内保证能读到之前的更新,详情请参见会话一致性。
是否支持0毫秒延迟的读取?
PolarDB集群的主节点和只读节点在正常负载情况下,具有毫秒级的延迟,读写分离连接地址暂时不支持在数据写入后0毫秒的读取。如果要求0毫秒延迟的读取,可使用主地址(动态指向PolarDB主节点)将读写请求发给主节点。如何查看主地址,请参见查看连接地址和端口。
为什么主节点负载很高?
主节点CPU负载高的原因有多种,常见的排查方法如下:
如果业务直接访问主地址,可以检查一下是否有业务配置使用主地址。
业务的更新请求数量远高于读请求数量,导致主节点压力大。
如果代理地址将主库是否接受读设置为是,您可以将主库是否接受读修改为否,以减少部分读请求路由到主节点。
检查代理地址事务拆分是否开启。有些ORM默认将所有请求封装在事务里,导致所有请求都路由到主节点。可以开启事务拆分,减少事务写前读请求路由到主节点。
若在Sysbench压测中,您可以在0.5版本的Sysbench中加上--oltp-skip-trx=on或在1.0版本的Sysbench中加上--skip-trx=on去掉事务后再进行压测。详细的负载均衡策略及事务拆分请参见负载均衡。
为什么某个节点的请求数比别的节点多?
当前是根据负载来分发请求的,负载小的节点接收的请求数会更多。
新增的只读节点会自动加入到读写分离吗?
是的。
数据库代理企业版的企业通用版和企业独享版有什么区别?
企业通用版:对应集群子系列的通用规格,它可以共享CPU物理资源,可根据业务负载,提供智能秒级资源弹性扩展能力。
企业独享版:对应集群子系列的独享规格,它可以独占CPU物理资源,具有更好的性能稳定性。
从集群地址中删除已选择的只读节点对业务有影响吗?
如果删除可读可写模式的集群地址下的只读节点,当删除的只读节点上有正在执行中的请求、事务或临时表时,该集群地址上的业务连接会直接断连。否则,业务无感知。
如果删除只读模式的集群地址下的只读节点,该集群地址上的业务连接会直接断连。
删除只读节点的具体影响请参见只读节点下线。