开发者社区 > 数据库 > 关系型数据库 > 正文

PolarDB重启数据库代理十分钟了还不能链接,怎么回事?

PolarDB重启数据库代理十分钟了还不能链接,怎么回事?

展开
收起
三分钟热度的鱼 2024-05-05 18:46:27 10 0
1 条回答
写回答
取消 提交回答
  • 针对这一情况,可能存在以下原因及相应的处理措施:

    长连接影响:主备切换后,应用端长连接可能未感知到连接状态变化。如果未设置socket超时时间,应用会持续等待数据库响应,导致部分连接无法正常工作,产生大量SQL执行异常。建议合理配置MySQL驱动库中的connectTimeout和socketTimeout参数,以避免无效连接并缩短故障时间。具体参数设置可参考如下建议:

    connectTimeout:建议配置为1~2秒。
    socketTimeout:内网环境下建议设为10~15秒,公网环境下建议设为60~90秒。

    参考链接
    https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/automatic-failover-and-manual-failover

    节点重启过程:PolarDB仅支持节点级别的重启,您可能已在控制台手动重启节点以解决连接或性能问题。请注意,重启节点过程中可能出现1分钟以内的连接闪断,且重启所需时间与业务数据量有关,可能需耗时数小时。建议在业务低谷期执行重启操作,并确保应用具备重连机制。
    参考链接
    https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/restart-nodes

    只读节点重启:如果重启的是只读节点,新建立的读写分离连接会转至重启后的节点,而重启前建立的连接则不会。此时需要重启应用以断开旧连接并重建,以确保请求转发到重启后的只读节点。
    参考链接
    https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/restart-nodes

    网络延迟与资源占用:针对PolarDB连接超时或访问慢的问题,可进行以下基础排查:

    使用tracert命令对集群连接地址进行网络追踪,检查网络延迟及路由状况。
    查看控制台监控,确认实例当前连接数是否达到规格上限,如有必要可升级规格。
    检查实例CPU和内存资源占用情况,如资源紧张应及时升级规格。
    检测是否存在慢SQL并进行优化。
    参考链接
    https://help.aliyun.com/zh/polardb/polardb-for-mysql/specifications-of-compute-nodes 此回答整理自钉群“PolarDB 专家面对面 - 网络&连接&线程池功能”

    2024-05-05 19:51:58
    赞同 3 展开评论 打赏

相关电子书

更多
云栖大会:开源 PolarDB 架构演进、关键技术与社区建设 立即下载
2023云栖大会:和客户一起玩转PolarDB新特性 立即下载
2023云栖大会:PolarDB for AI 立即下载