暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

流量不均时的定位处理

芬芳 2023-09-12
133

如果在观察集群的性能时,发现集群的流量不均衡,则需要定位原因,防止流量倾斜导致的集群性能问题。具体场景如下:

  • 主节点负载高,只读节点负载低
    • 场景一:业务侧直接连接了主地址导致读请求没有被分流。特别是在RDS一键迁移到PolarDB场景的最终切换过程中,默认原RDS地址会切换到PolarDB集群的主地址上,这种场景下会导致流量全部流转到主节点。此类问题需要业务侧调整连接地址为集群地址或自定义地址。
    • 场景二:使用的是读写分离地址,但业务上有大量的写请求,在代理层会把所有的写请求路由到主节点。此类场景下可以尝试开启主库是否接受读和事务拆分功能,尽可能让只读节点承担一些读流量。
  • 只读节点负载高,主节点负载低
    此场景一般是预期内的只读节点承接流量,例如开启了主库是否接受读和事务拆分功能,同时大量的请求都是读请求时,此场景是比较理想的PolarDB流量分配方案。即使只读节点资源不够,也可以通过快速添加新的只读节点来分担负载。监控曲线如下图所示:
    image.png
  • 连接地址的复用
    由于PolarDB可以自定义多个连接地址,不同的连接地址数据库节点也可以复用,就有可能造成流量交叉导致集群负载不均衡。例如TP业务和AP业务有不同的连接地址,但配置了相同的只读节点,如果出现交叉使用的节点负载异常,很有可能就是由于不同业务之间的资源争抢造成的。可以尝试将问题节点从某个连接地址中去掉,再对比负载情况。
  • 集群性能异常
    在某些场景下,由于集群自身问题导致资源负载高,例如不同节点分配的流量会导致AHI的分配也不相同,从而导致某个节点上出现资源争抢问题,此时就要定位具体原因以优化节点性能。另外数据库代理层是按负载情况分配的,如果单节点负载高,流量也会自动向负载低的节点倾斜,可能导致集群性能整体出现问题。
  • 异常流量来源
    目前PolarDB还未完全接入DAS的历史数据诊断功能,如果需要定位异常流量来源,只能观察当前连接请求的情况。您可以在控制台的一键诊断 > 会话管理菜单中,查看用Hosts维度统计的会话,以确认是否有非预期的业务来源访问。同时可将正常节点与异常节点做对比以定位异常流量来源。
    image.png
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论