druid 心跳检测作用

数据库中连接时间设置:
connect_timeout:  服务器关闭非交互连接之前等待活动的秒数
interactive_timeout:服务器关闭交互式连接前等待活动的秒数
这两个值默认都是288000(8小时),如果这两个值设置过大 或造成mysql产生大量的sleep进行,从而影响mysql的性能
MySQL服务器所支持的最大连接数是有上限的,因为每个连接的建立都会消耗内存,因此我们希望客户端在连接到MySQL Server处理完相应的操作后,应该断开连接并释放占用的内存。如果你的MySQL Server有大量的闲置连接,他们不仅会白白消耗内存,而且如果连接一直在累加而不断开,最终肯定会达到MySQL Server的连接上限数,这会报'too many connections'的错误。

在交互模式下,interactive_timeout取代wait_timeout。这样,如果有的客户端是交互模式方式连接mysql server。那么客户端的timeout受制于interactive_timeout。如果有的客户端是非交互模式,长连接mysql server。那么客户端的timeout受制于wait_timeout。(是否是交互模式的连接,由客户端决定)



druid 规避 连接 异常:

如果数据库连接超时 修改了的话,有可能为了提高数据库性能减小数据库压力,会将timeout设置的很小。那么 需要设置 druid的心跳检测来方式出现连接异常:





[color=darkred][b]注意:如果心跳检测的时间设置的大于数据库的timeout,那么心跳检测是不起作用的!!!![/b][/color]

你可能感兴趣的:(数据源)