tencent cloud

文档反馈

连接池概述

最后更新时间:2024-11-11 17:02:41
    云数据库 MySQL 数据库代理支持连接池功能,目前支持的数据库代理连接池功能为会话级别连接池、事务级别连接池,能有效解决短连接业务频繁建立新连接导致实例负载过高的问题。本文为您介绍会话级连接池功能。

    前提条件

    数据库内核小版本为 MySQL 5.7 20211030及以上。
    数据库内核小版本为 MySQL 8.0 20230630及以上。
    注意:
    数据库代理连接池能力在较低 MySQL 内核小版本中存在 change user 时产生死锁的问题,该问题已在 MySQL 8.0 20230630 内核小版本中修复,若您的主实例内核小版本未达到 MySQL 8.0 20230630,则存在一定的风险,建议您关闭数据库代理连接池能力;若您要继续使用数据库代理连接池能力,建议升级主实例内核小版本至 MySQL 8.0 20230630 或以上版本,升级操作请参见 升级数据库内核小版本

    背景信息

    会话级连接池

    
    会话级连接池适用于短连接场景。
    会话级连接池主要用于减少短连接业务频繁建立新连接带来的实例负载。当某客户端连接断开时,系统会判断当前连接是否为闲置连接,如果是闲置连接,系统会将该连接放到代理的连接池中并保留一小段时间。(系统默认为5s,开启连接池功能后支持手动设置,参见 开启连接池功能) 当客户端重新发起新连接时,若连接池中有可用的连接,则可直接使用,从而减少与数据库的建连开销。如果连接池内没有可用的闲置连接,则走正常连接流程,与数据库重新建立新连接。
    说明:
    会话级连接池并不能减少数据库的并发连接数,而是通过降低应用与数据库建立连接的速率来减少 MySQL 主线程的开销,更好地处理业务请求。但连接池里的闲置连接会短暂占用您的连接数。
    会话级连接池不能解决由于存在大量慢 SQL,导致的连接堆积问题,您需要先解决慢 SQL 问题。

    注意事项

    目前连接池功能不支持同一账号对不同 IP 有不同权限,这可能会导致连接复用时权限出错。例如 mt@test123 设置了 database_a 的权限,而 mt@test456 没有 database_a 的权限,开通连接池可能会导致权限错误问题。
    连接池功能是指数据库代理的连接池功能,不影响客户端的连接池功能,如果您的客户端已经支持连接池,则可以不使用数据库代理的连接池功能。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持