如何查询ClickHouse数据库服务器的实时/活跃连接数
ClickHouse查询活跃连接与最大连接数方法
1. 查询当前开放/活跃连接
1.1 分协议连接数汇总
你之前执行的SELECT * FROM system.metrics WHERE metric LIKE '%Connection'语句返回的是不同协议的实时连接数,各字段含义如下:
- TCPConnection:ClickHouse原生TCP协议连接数
- MySQLConnection:MySQL兼容协议连接数
- HTTPConnection:HTTP/HTTPS接口连接数
- InterserverConnection:集群节点间内部连接数
- PostgreSQLConnection:PostgreSQL兼容协议连接数
如果需要获取所有协议的总连接数,执行:
SELECT sum(value) AS total_active_connections FROM system.metrics WHERE metric LIKE '%Connection';
1.2 查看连接详细信息
如果需要查看每个连接的客户端地址、登录用户、连接时长等明细,执行:
SELECT client_hostname, client_address, user, connect_time, interface FROM system.connections;
1.3 查看正在执行查询的活跃会话
如果只需要统计正在运行查询的有效会话,执行:
SELECT user, address, query, elapsed, memory_usage FROM system.processes;
2. 查询最大连接数限制(对应MySQL的max_connections)
ClickHouse不同协议的最大连接数独立配置,可按需查询:
- 原生TCP协议最大连接数:
SELECT name, value FROM system.settings WHERE name = 'max_connections';
- MySQL兼容协议最大连接数:
SELECT name, value FROM system.settings WHERE name = 'mysql_max_connections';
- HTTP协议最大连接数:
SELECT name, value FROM system.settings WHERE name = 'http_max_connections';
内容的提问来源于stack exchange,提问作者Bimal Kumar Dalei
相关产品推荐
相关产品推荐

