数据库连接超时,服务器无影响
一般在多线程并发的时候出现,可以修改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,也不能小于最小值)
解决数据库连接超时
本文探讨了多线程并发操作中出现的数据库连接超时问题,并提供了调整MySQL最大连接数、线程池数量及超时时间的方法。通过具体示例说明如何设置ADO.Net连接池参数以提高效率。
2973

被折叠的 条评论
为什么被折叠?



