答俊才
确实有这个问题,mysqlde 8.4.0这个驱动性能也不佳,这个官网已经有反馈https://bugs.mysql.com/bug.php?id=115736; 如果不着急升级,可以继续使用8.0版本,比如8.0.45还能用一段时间,等官网解决了再继续用或者用percona分支试试也行; 另外,MySQL8.4+版本是可用的,如果确定担心8.0的EOL带来的等保审核等要求,可以使用MySQL8.4的最新版,然后对于的驱动可以用8.0的驱动。如果确定使用8.4版本,对于的参数和连接池配置的参数要结合使用,此处建议做一点微调: 数据库侧可以参考调整: -- 增加网络写入超时时间 SET GLOBAL net_write_timeout = 120; -- 从60秒增加到120秒 SET GLOBAL net_read_timeout = 60; -- 从30秒增加到60秒 -- 调整连接超时设置(如果空闲连接过多的话,可以调低) SET GLOBAL wait_timeout = 28800; -- 确保与连接池配置匹配 SET GLOBAL interactive_timeout = 28800; 连接池配置: max-lifetime: 1800000 # 30分钟或者更小(如果上面数据库超时参数用1800s的话,此处建议更小一点,以免出现临界问题,确保小于MySQL的wait_timeout) idle-timeout: 600000 # 10分钟或者更小也可以 keepalive-time: 30000 # 从300000减少到30000,更频繁的心跳 JDBC连接里可以尝试加5个参数或者逐个增加确定 &tcpKeepAlive=true&socketTimeout=300000&connectTimeout=10000 &useSSL=false # 如果不需要SSL,可以禁用以简化连接 &useCompression=false # 禁用压缩,减少CPU开销 可以先在测试环境进行测试,如果没问题了再生产环境调整。