[Clickhouse] Clickhouse 报SQLException : Read timed out

1 问题描述

在使用Clickhouse(21.3.4.25)进行大数据量地数据查询,高频报出 SQLException : Read timed out 错误

2 问题分析

2.1 单次查询:耗时约4s

2.2 并发20查询:报SQLException Read timeout,并发5查询:正常

2.3 整个SQL :查询业务逻辑复杂(多层嵌套、Join、200余行)

2.4 整个Query SQL 的查询基表:基于1个36亿级(6W Inner Join 6W)的视图表

2.x 问题结论及优化方向

  • 根本原因:
  • SQL逻辑和所消耗的资源较高,达到了CK数据库的资源、性能瓶颈。(Clickhouse本身也不支持高并发查询,官网/最佳实践的建议:单表查询,尽可能减少join、最高单表并发100)
  • 个人优化建议:
  • 1、优化SQL(可结合物化视图,如果担心统计不准(大部分情况下,误差概率极低、较小),可先主动执行 optimze table {table} final 指令做合并,再执行 Query SQL)
  • 2、尝试调整连接参数(如:?socket_timeout=600000,能一定程度上减少此类报错)
由于数据量过大,查询请求太久,导致clickhouse连接超时。
建议在clickhouse连接字符串后面加上参数:`?socket_timeout=600000`再验证
socket_timeout的单位是ms,可以根据实际情况更改大小。

X 参考文献

  • clickhouse
相关推荐
期待着20134 天前
ClickHouse创建分布式表
数据库·clickhouse
昨天今天明天好多天4 天前
【ClickHouse】创建表
数据库·clickhouse·oracle
从未完美过5 天前
clickhouse自增id的处理
数据库·clickhouse
sunny052965 天前
ClickHouse数据库SSL配置和SSL连接测试
数据库·clickhouse·ssl
东皋长歌5 天前
ClickHouse创建账号和连接测试
clickhouse
gengjianchun8 天前
clickhouse 安装配置
服务器·网络·clickhouse
东皋长歌8 天前
ClickHouse安装
clickhouse
大嘴吧Lucy8 天前
实战攻略 | ClickHouse优化之FINAL查询加速
数据库·mysql·clickhouse
东皋长歌8 天前
SpringBoot+ClickHouse集成
clickhouse·springboot
从未完美过8 天前
ClickHouse集成Mysql表引擎跨服务器读表说明
服务器·mysql·clickhouse