数据库连接超时,服务器无影响
一般在多线程并发的时候出现,可以修改mysql的最大连接,线程池数,超时时间
比如有个服务,一次处理20w条记录时用200条分解成1000个线程同时处理,但是mysql
设置成最大支持100个连接,也就是说有900处理要等待其他处理完释放连接才能用, 而每次
要处理200条,所以就有可能后边的900个等待的会出现这个异常
设置连接池数量
ADO.Net 中的连接池大小可以通过数据库连接字符串来控制,例如:
string cs =
"server=.;uid=sa;pwd=tcaccp;database=pubs;pooling=true;min pool size=5;max pool size=10"
其中 pooling 表示是否打开连接池,默认为打开,关掉时需要 pooling = false;
min pool size 表示连接池最少保存几个连接对象;
max pool size 表示连接池最多保存几个连接对象。(最大值不能为 0,也不能小于最小值)