GreatSQL社区

搜索

[待回复] 咨询个生产业务日志错误问题

325 4 2025-3-19 12:47

你好~
  请教个问题,我们业务客户端在连接时候出现  “The client was disconnected by the server because of inactivity.” ,请问是什么问题导致的,他们之前习惯是用5.7版本,是啊不是他们要升级什么驱动或者设置需要改啥的~

还有个现象就是show process  没有出现业务连接~,是不是都被服务端进程给kill 了~



以下是timeout 参数

+------------------------------------------+----------+
| Variable_name                            | Value    |
+------------------------------------------+----------+
| connect_timeout                          | 10       |
| delayed_insert_timeout                   | 300      |
| have_statement_timeout                   | YES      |
| innodb_flush_log_at_timeout              | 1        |
| innodb_lock_wait_timeout                 | 10       |
| innodb_print_lock_wait_timeout_info      | ON       |
| innodb_rollback_on_timeout               | ON       |
| interactive_timeout                      | 600      |
| lock_wait_timeout                        | 600      |
| mysqlx_connect_timeout                   | 30       |
| mysqlx_idle_worker_thread_timeout        | 60       |
| mysqlx_interactive_timeout               | 28800    |
| mysqlx_port_open_timeout                 | 0        |
| mysqlx_read_timeout                      | 30       |
| mysqlx_wait_timeout                      | 28800    |
| mysqlx_write_timeout                     | 60       |
| net_read_timeout                         | 30       |
| net_write_timeout                        | 60       |
| parallel_queue_timeout                   | 0        |
| replica_net_timeout                      | 60       |
| rpl_stop_replica_timeout                 | 31536000 |
| rpl_stop_slave_timeout                   | 31536000 |
| secondary_engine_read_delay_wait_timeout | 60       |
| slave_net_timeout                        | 60       |
| ssl_session_cache_timeout                | 300      |
| thread_pool_idle_timeout                 | 60       |
| wait_timeout                             | 600      |
+------------------------------------------+----------+
27 rows in set (0.00 sec)

全部回复(4)
caihe.li 2025-3-20 10:03:27
数据库wait_timeout和interactive_timeout这两个参数决定会话连接断开。这个时间达到了,数据库主动kill了连接线程,但是应用不知道原本连接池里面的连接断了,下次操作直接服用了已经断开的连接,所以有这个报错。建议应用连接池加入探活解决。当然调大wait_timeout参数也是可以的。但是过大会造成线程没法回收造成资源浪费。
yejr 2025-3-20 10:23:04
caihe.li 发表于 2025-3-20 10:03
数据库wait_timeout和interactive_timeout这两个参数决定会话连接断开。这个时间达到了,数据库主动kill了 ...

wait_timeout和interactive_timeout的默认值是8小时,在GreatSQL提供的my.cnf模板里我改成了600,避免有些空闲连接长时间不释放浪费资源

更多内容可参考
https://greatsql.cn/docs/8.0.32- ... -cw-threadpool.html
https://greatsql.cn/docs/8.0.32- ... ection-failure.html
reddey 2025-3-20 14:29:25
caihe.li 发表于 2025-3-20 10:03
数据库wait_timeout和interactive_timeout这两个参数决定会话连接断开。这个时间达到了,数据库主动kill了 ...

也就是从要应用解决比较理想
一个学艺不精的国产数据库爱好者
caihe.li 2025-3-21 10:40:58
reddey 发表于 2025-3-20 14:29
也就是从要应用解决比较理想

是这个意思
greatSQL小生

18

主题

0

博客

86

贡献

注册会员

Rank: 2

积分
141

助人为乐(铜)勤学好问(铜)

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2025-4-2 01:06 , Processed in 0.019027 second(s), 13 queries , Redis On.
快速回复 返回顶部 返回列表