doris用户连接数被打满问题

279 阅读1分钟

  1. 问题

报错:Reach limit of connections




  1. 排查过程

账号:srv_kfcbp_prd

检查服务器参数,配置如下:

max_user_connections=100   #用户允许的最大连接数为100
max_query_instances=-1    #单个用户同一时刻可使用的查询 instance 个数,-1表示不限制
default_max_query_instances=-1   #单个用户同一时刻可使用的查询 instance 个数的默认值,-1表示不限制
qe_max_connection=1024    #每个 FE 的最大连接数
wait_timeout=28800  #空闲连接的连接时长,默认为28800,建议调小,否则可能导致有一些连接客户端虽然释放了,但是服务端未释放。



  1. 建议

wait_timeout 参数调整(业务侧给出建议值):

set global wait_timeout = 300;

由于出现"Reach limit of connections" 未及时第一时间检查配置项,未能获取报错时刻的连接信息。再出现类似问题时可用以下命令检查连接信息:

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND = 'Sleep' and user = 'srv_kfcbp_prd';

如果连接状态都是 sleep 则说明需要调小 wait_timeout 参数,否则需要调大max_user_connections值。

wait_timeoutmax_user_connections 需要业务侧给出建议值。