Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySql-客户端超时_Mysql_Database_C3p0_Connection Timeout - Fatal编程技术网

MySql-客户端超时

MySql-客户端超时,mysql,database,c3p0,connection-timeout,Mysql,Database,C3p0,Connection Timeout,我正在使用C3P0(0.9.5.2)连接池连接到MySQL数据库。我已将默认语句超时设置为1秒。我看到在高负载期间,一些连接请求超时(checkoutTimeout为1秒),尽管没有达到最大池容量。在分析线程堆栈时,我看到“MySQL取消计时器”线程处于可运行状态。可能存在批量超时,这会导致数据库无响应,并且不会在1秒内创建新连接 是否有办法将取消计时器的影响降至最低,并确保在未达到最大池容量时不会发生客户端超时?即使池不是maxPoolSize,如果设置了checkoutTimeout,并且在

我正在使用C3P0(0.9.5.2)连接池连接到MySQL数据库。我已将默认语句超时设置为1秒。我看到在高负载期间,一些连接请求超时(
checkoutTimeout
为1秒),尽管没有达到最大池容量。在分析线程堆栈时,我看到“MySQL取消计时器”线程处于可运行状态。可能存在批量超时,这会导致数据库无响应,并且不会在1秒内创建新连接


是否有办法将取消计时器的影响降至最低,并确保在未达到最大池容量时不会发生客户端超时?

即使池不是
maxPoolSize
,如果设置了
checkoutTimeout
,并且在超时时间内无法获得新连接,签出尝试也将超时
checkoutTimeout
只是一个超时,它会强制执行一个时间限制,不管原因如何

如果你想防止超时,你必须确保在规定的时间内连接可用。如果数据库对连接请求没有响应,最简单的解决方案显然是解决这个问题。其他方法可能包括设置更大的
acquiredincrement
(以便更有可能预取连接)或更大的
minPoolSize
(相同)

或者,您可以选择更长的超时时间(或者完全不设置超时时间)