RDS数据库实例支持的最大数据连接数是多少
关系型数据库服务对此未做限制,取决于数据库引擎参数的默认值和取值范围,例如MySQL引擎的max_connections和max_user_connections参数,用户可在参数模板自定义。
修改最大连接数
支持命令方式修改最大连接数。
MySQL最大连接数取值多少合适
- MySQL允许客户端同时连接的数量除了受制于参数max_connections外,还受操作系统对单进程允许打开最大文件数的限制。例如,当操作系统控制每个进程的最大打开文件数为100时,即使设置参数max_connections为200也不会起作用。
    
查看操作系统对单进程打开最大文件数的限制(默认为1024)。
ulimit -n
MySQL的参数open_files_limit是在MySQL启动过程中从操作系统读取的单进程打开最大文件数的值。
查看参数open_files_limit的值。
show variables like 'open_files_limit';
 - 取值建议
    
MySQL的最大连接数可以自定义取值,但前提是实例的规格可以支撑该值,最大连接数与实例的内存规格息息相关,具体请参考关于max_connections。
在实际业务中,最大连接数并不是设置的越大越好,建立的连接数越多,对应的资源开销也就越多。
 
关于max_connections
max_connections:允许同时连接的客户端总数。如果设定值为default,表示该参数和数据库实例的内存(单位:GB)相关,计算公式如下:
max_connections上限估计数值 = 节点可用内存 / 单个连接预估占用内存
 
   - 节点可用内存=总内存 - 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值如下表所示。
| 
       内存(GB)  | 
     
       连接数  | 
    
|---|---|
| 
       512  | 
     
       100000  | 
    
| 
       384  | 
     
       80000  | 
    
| 
       256  | 
     
       60000  | 
    
| 
       128  | 
     
       30000  | 
    
| 
       64  | 
     
       18000  | 
    
| 
       32  | 
     
       10000  | 
    
| 
       16  | 
     
       5000  | 
    
| 
       8  | 
     
       2500  | 
    
| 
       4  | 
     
       1500  | 
    
| 
       2  | 
     
       800  |