连接过多 - MySQL - 2GB RAM

3
我的服务器有2GB的RAM,max_connections变量设置为100。这是一个活跃的网站,流量很大,并且我预计会有100多个用户同时使用该网站,所有这些同时在线的用户都必须与数据库通信。
由于最近几天我(或其他用户)开始出现“连接过多”的错误,很多人建议将max_connections值增加到更高的值。我只想向一些专家确认,考虑到RAM(2GB)和同时在线的用户,是否明智将max_connections值增加到200或300或任何更大的数字?如果我增加值,是否应该增加RAM,还是2GB RAM可以处理更大的值?
编辑- 我的网页流程
//Start
$mysql_conn = mysql_connect("localhost","USER_NAME","PASSWORD") or die( mysql_error()."  cannot connect...");
mysql_select_db("DATABASE",$mysql_conn);
//[ALL THE LOGIC OF PAGE]
@mysql_close($mysql_conn);
//End

Regards,


这取决于您如何处理与数据库的连接。增加数据库连接限制并不总是正确的解决方案。 - mohamnag
打开100个连接已经相当高了,你应该能够处理成千上万个并行用户访问。 - mohamnag
你是否使用try finally块来关闭连接?如果没有,你的代码可能不总是到达连接关闭点(例如在中间抛出异常时)。 - mohamnag
@mohamnag,我也认为100是一个足够公平的数字,但为什么我会收到“连接过多”错误呢?有什么提示吗?有什么线索吗? - Gulfam
我的 Aborted_connects 值为 2245。这可能会是一个问题吗?另外,变量 Max_used_connections 的值为 101。这个值是否意味着 MySQL 的连接在某个时候达到了 101,而限制为 100(max_connections)? - Gulfam
显示剩余12条评论
1个回答

3

这是硬盘问题,即硬盘已满。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接