
# 实例的连接数满导致实例连接失败，如何处理？
数据库连接数表示应用程序可以同时连接数据库的数量，与您应用程序或者网站能够支持的最大用户数没有关系。
- 对于集群实例，一般指客户端同dds mongos之间的连接数。
- 对于副本集实例，一般指客户端同Primary节点和Secondary节点之间的连接数。
- 对于单节点实例，一般指客户端同单节点之间的连接数。
**当DDS实例的连接数已满时，新发起的连接请求将无法被响应，从而导致实例连接失败。**
#### 问题现象
以下为常见的几种报错情况：
- 使用Mongo Shell连接实例时，出现如下提示，表示当前连接池的连接数已满。
  图1提示信息   
  ![](https://support.huaweicloud.com/dds_faq/zh-cn_image_0000001182396667.png "点击放大") 

- 使用Python连接实例时，出现以下提示，表示当前连接池的连接数已满。 pymongo.errors.ServerSelectionTimeoutError: connection closed, connection closed
  
 
#### 处理思路
1. 请及时排查业务侧连接是否有效，优化实例连接，释放不必要的连接。
2. 排查"net.maxIncomingConnections"参数的值及实例规格，修改参数值或对数据库进行规格扩容。
3. 云监控服务目前可以监控数据库CPU、内存、磁盘、连接数等指标，并且设置告警策略，出现告警时可以提前识别风险。具体请参考[《云监控服务用户指南》](https://support.huaweicloud.com/ces/index.html)。
 
#### 处理方法
1. 优化实例连接，释放不必要的连接。
   1. 您可以通过重启实例来**临时** 释放所有的连接。具体请参见[重启实例或节点](https://support.huaweicloud.com/usermanual-dds/dds_03_0003.html)。
   
   2. 您可以查询节点当前连接数，以及当前连接来源，分析各个终端和DDS实例分别建立了多少连接，并做出相应调整，具体请参见[如何查询及限制连接数](https://support.huaweicloud.com/dds_faq/dds_faq_0040.html)。
    
2. 修改参数值或对数据库进行规格扩容。
   实例的最大连接数可通过修改参数"net.maxIncomingConnections"的值进行调整。如何修改参数值请参见[编辑参数模板](https://support.huaweicloud.com/usermanual-dds/zh-cn_topic_configuration.html)。
   - 如果参数值是"default"，表示最大连接数为缺省值，并且与实例的规格相关，具体请参见[数据库实例规格](https://support.huaweicloud.com/productdesc-dds/dds_01_0024.html)。
   
   - 如果调整连接数过大，可能导致服务崩溃，这时只能通过变更实例规格增加承载的连接数的数量，具体请参见[变更实例规格](https://support.huaweicloud.com/usermanual-dds/zh-cn_topic_0104472218.html)。
    
   ![](https://support.huaweicloud.com/dds_faq/public_sys-resources/note_3.0-zh-cn.png)
   如果实例参数模板为默认参数模板，由于默认参数模板中不允许修改参数值，您可以创建一个参数模板，并修改对应参数值，修改后将新参数模板关联到该实例。
   
3. 检查是否有[慢查询](https://support.huaweicloud.com/usermanual-dds/zh-cn_topic_slow_query_log.html)，建议添加索引进行优化。
 
