2个服务器节点,3000w数据查询9秒左右,如何优化?

【 TiDB 使用环境】测试
【 TiDB 版本】
【复现路径】
【遇到的问题:sql查询慢的问题
select stationcode,avg(pm10_v) pm10,avg(pm25_v) pm25,avg(so2_v) so2,avg(no2_v) no2,max(co_v) co,avg(o3_v) o3 from
air_qualitymq_wx_minute_bak
GROUP BY stationcode
大约3000w数据
经排查是tikv处理时间占用最多。】
【资源配置】
【附件:截图/日志/监控】



你有个tikv节点不正常吧,怎么是下线中?而且这个sql不是应该走tiflash吗?怎么走到tikv 了,指定hint走tiflash看看执行计划

下线的是之前增加了实例,后来效果不明显,所以就下线了。麻烦问一下,怎么评判是该用tikv计算还是改用tiflash?

使用 TiKV 还是 TiFlash 取决于查询的特征和数据规模。

一般来说,TiKV 适用于检索条件固定,且有索引的场景,而 TiFlash 适用于大规模数据的 OLAP 场景。如果查询需要大量的聚合计算(agg)和扫描大量数据(tablefullscan),那么使用 TiFlash 可以获得更好的性能。如果查询需要大量的随机读取和索引扫描,那么使用 TiKV 可以获得更好的性能。

在实际使用中,可以根据具体的查询场景和数据规模进行选择。可以通过测试和性能分析来确定最佳的选择。

扩展阅读:

看到SQL第一眼就是上tiflash

感谢,硬件条件不变,依据上边同学提醒,一张表我创建tiflash副本,优化器确实选择tiflash计算,速度提升。
后边我又将大约2亿数据量表创建了flash副本,数据结构都一样。但是发现两张表3000w和2亿数据计算都不是很快,这有可能是什么原因?需要做哪些优化?

不知道是不是硬件条件有限,两个稍微大点的表开了副本,感觉性能又下来了。一张3000w和2亿。我看 内存占用是挺大的。

确实看起来资源是瓶颈,TIFlash 还是高资源要求的,如果真的到生产还是要参考 TiDB 的生产环境建议的硬件要求。

TiDB 在生产环境的 CPU 和 Memory 要求如下:

  1. TiDB:至少需要 16 核 CPU 和 48 GB 内存,建议使用 SAS 硬盘,网络建议使用 10G 网卡,最少需要 2 个实例。

  2. PD:至少需要 8 核 CPU 和 16 GB 内存,建议使用 SSD 硬盘,网络建议使用 10G 网卡,最少需要 3 个实例。

  3. TiKV:至少需要 16 核 CPU 和 64 GB 内存,建议使用 SSD 硬盘,网络建议使用 10G 网卡,最少需要 3 个实例。

  4. TiFlash:至少需要 48 核 CPU 和 128 GB 内存,建议使用 1 个或多个 SSD 硬盘,网络建议使用 10G 网卡,最少需要 2 个实例。

以上是 TiDB 在生产环境的 CPU 和 Memory 要求的基本信息,如果您需要更详细的信息,可以参考官方文档中的相关章节。https://docs.pingcap.com/zh/tidb/dev/hardware-and-software-requirements#生产环境

哈哈哈 ,感觉是

你的机器资源很成问题,这样混部,即使用了tiflash也会因为其他节点的资源争用导致效率无法达到理想的效果,尽量分开部署,实在不行通过numa进行下资源隔离吧。。。

您那边一般部署多少台机子呢,我们这资源有限,不知道您发现没有,除了实例混合部署,tikv和tiflash存储都在一个盘上。

老哥麻烦请教一下。我刚才flash新建了副本,然后感觉创建多了,然后修改变少之后,在查询就把报错了
1105 - other error for mpp stream: From MPP<query:<query_ts:1683707370805569441, local_query_id:52, server_id:1809198, start_ts:441373784242126849>,task_id:1>: Code: 0, e.displayText() = DB::Exception: Failed4: Deadline Exceeded, e.what() = DB::Exception,

这个错误信息表明 MPP 流处理出现了问题,具体是 Deadline Exceeded,即处理任务超时。这可能是由于查询任务过于复杂或数据量过大导致的。

这个报错没怎么看到过,估计要求助其他大佬了…

嗯,我是本来两个flash副本,后来我缩减到一个,发现报错。后来缩减到0,在设置一个副本还是这个报错。后来重启flash就没事了。

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。