【 TiDB 使用环境】生产环境 /测试/ Poc
生产环境
【 TiDB 版本】
5.2.1
【复现路径】做过哪些操作出现的问题
生产环境中,有个场景是多表关联查询写入,大概有2000w条数据,目前只要执行就报错
2013 - Lost connection to server at ‘handshake: reading initial communication packet’, system error: 0,看了下监控,压力过大有些节点自动重启导致连接断掉。想问下这种场景除了优化sql,进行任务拆分,tidb调试方面有没有好的方法。(目前集群后台调度任务有点多,io也一直是居高不下)
【遇到的问题:问题现象及影响】
【资源配置】
【附件:截图/日志/监控】
上个集群配置信息吧
【资源配置】 这个没有,缺判断依据
【复现路径】 2000W 数据怎么关联查询,怎么写入的? 是否能提供结构,语句,以及执行计划?
磁盘是什么类型的? 为啥 tikv 节点要配不一样的大小?
看到你的大 SQL了,是要在一个事务里面跑完么?
你的集群配置文件能导出来一份看看吗,你这sql要排序,tidb设置的内存够大吗?
看看各组件启动时间,大概率是OOM了。
SELECT * FROM information_schema.cluster_info;
你这个查询把内存都挤爆了吧!最后一个监控不是有实例达到了60几G了吗?可以分批插入
这个是资源不够了,下面6T的原先是tiflash,我扩容成了tikv节点。磁盘就是华为云上普通的磁盘,性能一般。 这个大sql目前已经拆分成多个执行了。
是的,我从dashboard上看到组件也是最近重启了
这个磁盘的 IO 不太够阿,要用的只能减缓读取的频次,不然 IO 就爆了
172.21.10.137
172.21.10.138
是两个什么节点? 不光 IO 高, cpu 和 mem 也很高
tikv节点,硬件没跟上。
我觉得首先从慢SQL入手优化优化,OOM基本都是大结果集导致的。
优化完达不到预期再考虑扩容。
如果是数据量有大,并发还高,普通硬盘肯定不行的。基本都是SSD标配。
调整下磁盘的硬件配置吧,其他的优化很难有好的效果了
要么降低使用的预期…
嗯嗯,目前就是这个思路。
好的,谢谢
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。