
# RDS数据库实例支持的最大数据连接数是多少
云数据库RDS服务对此未做限制，取决于数据库引擎参数的默认值和取值范围，例如MySQL引擎的max_connections和max_user_connections参数，用户可在参数模板自定义。
#### 什么是最大连接数
允许同时连接的客户端总数。
#### 修改最大连接数
- MySQL 连接数支持在线修改，具体方法请参考[修改实例参数](https://support.huaweicloud.com/usermanual-rds-mysql/rds_configuration.html)。
  支持命令查看RDS for MySQL的最大连接数。
  **show global variables like 'max_connections';**
  ![](https://support.huaweicloud.com/rds-mysql_faq/zh-cn_image_0000002212064420.png "点击放大")
  
如果您需要通过命令修改连接数，请[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)处理。
#### 最大连接数取值多少合适
- MySQL
  - RDS for MySQL允许客户端同时连接的数量除了受制于参数max_connections外，还受操作系统对单进程允许打开最大文件数的限制。例如，当操作系统控制每个进程的最大打开文件数为100时，即使设置参数max_connections为200也不会起作用。
  
  - 查看操作系统对单进程打开最大文件数的限制（默认为1024）。 **ulimit -n**
    ![](https://support.huaweicloud.com/rds-mysql_faq/zh-cn_image_0000002212224204.png)
    
  
  - 查看参数open_files_limit的值（open_files_limit是在RDS for MySQL启动过程中从操作系统读取的单进程打开最大文件数的值）。 **show variables like 'open_files_limit';**
    ![](https://support.huaweicloud.com/rds-mysql_faq/zh-cn_image_0000002247144225.png "点击放大")
    
  
  - 取值建议 RDS for MySQL的最大连接数可以自定义取值，但前提是实例的规格可以支撑该值，最大连接数与实例的内存规格息息相关，具体如下：
    max_connections：允许同时连接的客户端总数。如果设定值为default，表示该参数和数据库实例的内存（单位：GB）相关，计算公式如下：
    **max_connections上限估计数值 = 节点可用内存 / 单个连接预估占用内存**
    ![](https://support.huaweicloud.com/rds-mysql_faq/public_sys-resources/note_3.0-zh-cn.png)
    - **节点可用内存=总内存 - Buffer Pool占用内存 - 1GB（mysqld进程/操作系统/监控程序等）**
    
    - **单个连接预估占用内存（single_thread_memory） = thread_stack（256KB） + binlog_cache_size（32KB） + join_buffer_size（256KB） + sort_buffer_size（256KB） + read_buffer_size（128KB） + read_rnd_buffer_size（256KB）= 大约1MB**
     
    华为云不同内存规格配置的默认max_connections值如下表所示。
    表1不同内存规格配置的默认max_connections值 
    | 内存(GB) | 连接数    |
    |:---|:---|
    | 512    | 100000 |
    | 384    | 80000  |
    | 256    | 60000  |
    | 128    | 30000  |
    | 64     | 18000  |
    | 32     | 10000  |
    | 16     | 5000   |
    | 8      | 2500   |
    | 4      | 1500   |
    | 2      | 800    |
       
    在实际业务中，最大连接数并不是设置的越大越好，建立的连接数越多，对应的资源开销也就越多。
    
   
 
