数据库代理常见问题

本文汇总了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物理资源,具有更好的性能稳定性。

从集群地址中删除已选择的只读节点对业务有影响吗?

  • 如果删除可读可写模式的集群地址下的只读节点,当删除的只读节点上有正在执行中的请求、事务或临时表时,该集群地址上的业务连接会直接断连。否则,业务无感知。

  • 如果删除只读模式的集群地址下的只读节点,该集群地址上的业务连接会直接断连。

删除只读节点的具体影响请参见只读节点下线