在生产环境中出现了特定SQL查询超时的问题,此时数据库的其他SQL查询正常返回,插入执行正常;数据库各项运行指标正常,服务器无告警。
生产环境配置如下:
版本8.0.32-24
集群模式三节点多主集群
CPU 96C
内存 256G
存储空间 1T SSD
配置文件 my.cnf
在出现该问题时,发现通过客户端直接执行也查询超时,无法查询出数据,针对该sql进行优化,创建了相关索引后,再尝试执行,依旧超时。
经过讨论,怀疑是该条SQL查询结果集过大,并且查询并发请求量过高导致分配缓冲区buffer不够用了,调整了my.cnf的innodb_buffer_pool_size=64G,解决该问题。