2012-04-29 44 views
2

的MAX_USER_CONNECTIONS错误最近一个C#网站中我一直在工作已经扔了 -MySQL已经超出了C#网站

MySQL已经超过了“MAX_USER_CONNECTIONS

错误。我已经检查了我的代码,并且相信我在我应该做的时候会关闭所有打开的连接。运行SHOW PROCESSLIST命令后,它列出了一系列的工艺,其中的状态为“睡眠”和“信息”为空,类似于此的堆栈溢出的问题 -

Mysql show processlist lists many processes sleep and info = null?

有什么我可以在做数据库设置或我的连接字符串,将阻止MySql挂在进程?我的连接字符串目前看起来是这样的 -

server=server;User Id=user;password=****;Persist Security Info=True;database=mysql5_867860_footytriv;Pooling=true;Min Pool Size=10;Max Pool Size=15 

该网站是在discountasp.net

+0

通常这意味着你不关闭你的连接,我会重新检查并在using语句中封装每个新的MySqlConnection。 – Steve 2012-04-29 10:15:41

+0

你的连接字符串是什么?你在连接上使用“使用”吗? – 2012-05-06 08:01:18

回答

0

主持这需要大量的调查。通常你知道,MYSQL从连接池中管理连接实例。有时候,所有连接都在使用中。

这使我们进入了2个问题:
1.有一些查询其正在很长来执行,因此不会释放连接(一些多余的查询,长时间运行的查询等)
2.负荷服务器太高,硬件配置不足以处理如此多的用户。

在得出结论之前,您必须测量所有这些。你可以调整配置文件来增加内存,没有连接等,但我认为它不会帮助你!