如何检查 clickhouse 数据库服务器实时/活动连接

Posted

技术标签:

【中文标题】如何检查 clickhouse 数据库服务器实时/活动连接【英文标题】:How to check clickhouse database server live/active connections 【发布时间】:2021-10-01 07:30:18 【问题描述】:

我正在尝试从控制台检查 clickhous 数据库(服务器)的活动连接。 在 mysql 中有很多命令 Like:

SHOW STATUS WHERE `variable_name` = 'Threads_connected';
show status like 'Threads_connected';
SHOW VARIABLES LIKE "max_connections";

它将返回如下格式的结果。

'Threads_connected', '2'
'max_connections', '151'

我们也可以从 mysql 工作台服务器状态菜单中。 我正在检查以下查询,但它没有返回任何适当的结果。

SELECT * FROM system.metrics WHERE metric LIKE '%Connection'

┌─metric────────────────┬─value─┬
│ TCPConnection         │     1 │
│ MySQLConnection       │     0 │
│ HTTPConnection        │     0 │
│ InterserverConnection │     0 │
│ PostgreSQLConnection  │     0 │   

SELECT * FROM system.events LIMIT 1

Row 1:
──────
event:       Query
value:       30
description: Number of queries....

SELECT * FROM system.settings WHERE name LIKE 'conn%' LIMIT 1

Row 1:
──────
name:        connect_timeout
value:       10
changed:     0
description: Connection timeout if there are no replicas.
min:         ᴺᵁᴸᴸ
max:         ᴺᵁᴸᴸ
readonly:    0
type:        Seconds

请分享一些想法如何检查打开的会话或连接。

谢谢你, 双马尔。

【问题讨论】:

【参考方案1】:

查询

SELECT * FROM system.metrics WHERE metric LIKE '%Connection'

是一个正确的查询,但看起来并非所有指标当前都能正确计算。你可以在github 上创建一个关于它的问题。

【讨论】:

但是,它总是返回相同的值,天气一个客户端连接或多个客户端应用程序连接。比如: TCPConnection = 1 , MySQLConnection = 0 ,HTTPConnection = 0 ,InterserverConnection = 0, PostgreSQLConnection = 0 .

以上是关于如何检查 clickhouse 数据库服务器实时/活动连接的主要内容,如果未能解决你的问题,请参考以下文章

从 ClickHouse 到 ByteHouse:实时数据分析场景下的优化实践

ClickHouse开源数据库

微信 ClickHouse 实时数仓的最佳实践

MySQL 到 ClickHouse 实时数据同步实操分享

MySQL 到 ClickHouse 实时数据同步实操分享

clickhouse微信基于Clickhouse的实时数仓