webForumDet fria alternativet

MySQL Max connections

5 svar · 434 visningar · startad av drew

drewMedlem sedan mars 2007845 inlägg
#1

Dom senaste dagarna har jag fått felmess att max antal MySQL-connections är överskridet. Det enda som verkar hjälpa är att starta om VPS'en. När jag kör "show status;" i mysql så ökar antalet connections hela tiden. Det verkar som gamla connections inte släpps eller återanvänds.

Jag har inte kollat hur många den är uppe i när den väl ger upp, men att öka antalet känns inte som den rätta åtgärden. Mera att försöka få MySQL att släppa kontakterna när den skickat svaren eller åtminstone att släppa dom efter en viss tid.

Jag tror att det började efter den senaste uppgraderingen av MySQL.

Hur ska jag göra för att få den att släppa kontakterna? Jag har Googlat, men inte hittat något vettigt.

/D

Peter SMedlem sedan dec. 20025 483 inlägg
#2

Hur ser koden ut som ansluter och ställer frågor till MySQL?

drewMedlem sedan mars 2007845 inlägg
#3

Det är bl a några phpBB3-forum. Jag har inte studerat koden där närmare.

Dom övriga sidorna som jag gjort själv har något liknande det nedanför. Men det har inte gjorts några ändringar alls på några månader och inga precis när problemet började.

Obs att alla MySQL-databaser lägger ner samtidigt. Jag har hållit lite koll på det nu och just nu är den uppe i ca 90k anslutningar.

$datan = mysql_connect($dbhost, $dbuser, $dbpasswd) or die('Error connecting to mysql');
mysql_select_db($dbname);

--->8-----------

$query = "SELECT user_id, username FROM " . $table_prefix . "users WHERE user_id != 3";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
	echo $row['user_id'] . ' || ' . $row['username'] . '<br />';
}
mysql_free_result($result);

--->8-----------

mysql_close($datan);
LarsGMedlem sedan dec. 200012 464 inlägg
#4

Flyttas från SQL

Peter SMedlem sedan dec. 20025 483 inlägg
#5

Vad ger SHOW PROCESSLIST?

drewMedlem sedan mars 2007845 inlägg
#6

dbuser och dbname är utbytta, men det är samma på båda raderna.

mysql> SHOW PROCESSLIST;
+-------+----------------+-----------+----------------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-------+----------------+-----------+----------------+---------+------+-------+------------------+
| 73635 | root | localhost | NULL | Query | 0 | NULL | SHOW PROCESSLIST |
| 73692 | dbuser | localhost | dbname | Sleep | 0 | | NULL |
| 73693 | dbuser | localhost | dbname | Sleep | 0 | | NULL |
+-------+----------------+-----------+----------------+---------+------+-------+------------------+
3 rows in set (0.00 sec)

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)