
# 开启TaurusDB代理的连接池功能
#### 操作场景
业务应用连接数据库代理执行请求时，代理需要连接数据库分发请求并获取执行结果。当业务为短连接业务时，会存在频繁的连接建立与销毁，造成数据库负载上升。
会话级连接池适用于短连接场景。当客户端连接断开时，系统会判断当前的连接是否为闲置连接。如果是闲置连接，系统会将该连接放到代理的连接池中并保留10秒，此保留时长不可修改。在客户端重新发起连接时，如果连接池中有可用的连接，则可直接使用，从而减少与数据库的建连开销。如果没有可用的连接，则按正常流程重新建立连接。
#### 原理介绍
使用会话级连接池，可以减少短连接业务频繁建立连接导致数据库负载高。
![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002349472306.png "点击放大")
#### 使用须知
- 如需开启连接池，需要数据库代理内核版本大于等于2.22.07.000。内核版本的查询方法请参见[如何查看云数据库 TaurusDB实例的版本号](https://support.huaweicloud.com/taurusdb_faq/taurusdb_faq_0141.html)。
- 当执行以下行为时，会锁定连接，直至会话结束，即该连接不会再被放到连接池中供其他用户连接使用。
  - 执行PREPARE语句
  
  - 创建临时表
  
  - 修改用户变量
  
  - 大数据插入查询（例如16MB以上）
  
  - 使用lock table
  
  - 多语句（以分号分隔的SQL语句，例如SELECT 1;SELECT 2）
  
  - 存储过程调用
   
 
#### 设置会话级连接池
1. [登录TaurusDB管理控制台](https://console.huaweicloud.com/gaussdbformysql/#/management/list)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002671347251.png)，选择区域。
3. 在实例列表中，选择目标实例，单击实例名称，进入实例概览页面。
4. 在左侧导航栏中，单击"数据库代理"。
5. 在"数据库代理"页面，选择目标代理实例，单击代理实例名称。
6. 在"基本信息"页面，单击"连接池"后的"设置"。 
   图1设置连接池   
   ![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002654255200.png "点击放大")
   
   
   
7. 在弹框中设置会话级连接池，单击"确定"，此过程大概需要几秒钟。
8. 在当前页面查看连接池是否修改成功。
 
#### 关闭连接池
1. [登录TaurusDB管理控制台](https://console.huaweicloud.com/gaussdbformysql/#/management/list)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002671347251.png)，选择区域。
3. 在实例列表中，选择目标实例，单击实例名称，进入实例概览页面。
4. 在左侧导航栏中，单击"数据库代理"。
5. 在"数据库代理"页面，选择目标代理实例，单击代理实例名称。
6. 在"基本信息"页面，单击"连接池"后的"设置"。
7. 在弹框中设置关闭连接池，单击"确定"，此过程大概需要几秒钟。
8. 在代理实例的基本信息查看连接池是否关闭。
 
#### 相关API
- [更改数据库代理连接池类型](https://support.huaweicloud.com/api-taurusdb/UpdateProxyConnectionPoolType.html)
- [查询数据库代理信息列表](https://support.huaweicloud.com/api-taurusdb/ShowGaussMySqlProxyList.html)
- [查询数据库代理规格信息](https://support.huaweicloud.com/api-taurusdb/ShowGaussMySqlProxyFlavors.html)
 
