searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

teledb for Mysql客户端连接池连接失败

2024-09-10 09:23:36
13
0

一、问题背景

客户应用端经常报连接报错

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

二、原因分析

 

上面是客户的应用连接池配置,发现客户的maximum-pool-size=10太小了,应用端并发很容易打满应用端连接池的连接数。

刚好和连接报错信息吻合,The last packet sent successfully to the server was 0 milliseconds ago. 说明是客户端无法建立连接。

hakari连接数满的情况下 就会报这个错误。

 

三、解决方案

1、添加testWhileIdle=true配置,应用实例在使用连接前进行连接有效性的检查。
2、添加autoReconnect=true配置,连接到数据源的连接发生中断,Druid会尝试自动重新连接。
3、加长MySQL的wait_timeout空闲连接超时时间,使其大于客户端应用空闲连接超时时间。
4、增大hakari的maximum-pool-size(本案例就处于此种情况)

0条评论
作者已关闭评论
ly
8文章数
0粉丝数
ly
8 文章 | 0 粉丝
原创

teledb for Mysql客户端连接池连接失败

2024-09-10 09:23:36
13
0

一、问题背景

客户应用端经常报连接报错

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

二、原因分析

 

上面是客户的应用连接池配置,发现客户的maximum-pool-size=10太小了,应用端并发很容易打满应用端连接池的连接数。

刚好和连接报错信息吻合,The last packet sent successfully to the server was 0 milliseconds ago. 说明是客户端无法建立连接。

hakari连接数满的情况下 就会报这个错误。

 

三、解决方案

1、添加testWhileIdle=true配置,应用实例在使用连接前进行连接有效性的检查。
2、添加autoReconnect=true配置,连接到数据源的连接发生中断,Druid会尝试自动重新连接。
3、加长MySQL的wait_timeout空闲连接超时时间,使其大于客户端应用空闲连接超时时间。
4、增大hakari的maximum-pool-size(本案例就处于此种情况)

文章来自个人专栏
数据库运维
8 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0