Database connections: When we now check for user values we check the system values as well
This commit is contained in:
parent
8451397857
commit
acb09d3a3d
1 changed files with 26 additions and 19 deletions
|
@ -161,35 +161,42 @@ function poller_max_connections_reached() {
|
||||||
$used = count($r);
|
$used = count($r);
|
||||||
|
|
||||||
logger("Connection usage (user values): ".$used."/".$max, LOGGER_DEBUG);
|
logger("Connection usage (user values): ".$used."/".$max, LOGGER_DEBUG);
|
||||||
} else {
|
|
||||||
// Since there are no user specific limitations we will now check for the system values
|
|
||||||
$r = q("SHOW VARIABLES WHERE `variable_name` = 'max_connections'");
|
|
||||||
if (!$r)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
$max = intval($r[0]["Value"]);
|
$level = $used / $max;
|
||||||
if ($max == 0)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
$r = q("SHOW STATUS WHERE `variable_name` = 'Threads_connected'");
|
if ($level >= (3/4)) {
|
||||||
if (!$r)
|
logger("Maximum level (3/4) of user connections reached: ".$used."/".$max);
|
||||||
return false;
|
return true;
|
||||||
|
}
|
||||||
$used = intval($r[0]["Value"]);
|
|
||||||
if ($used == 0)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
logger("Connection usage (system values): ".$used."/".$max, LOGGER_DEBUG);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// We will now check for the system values.
|
||||||
|
// This limit could be reached although the user limits are fine.
|
||||||
|
$r = q("SHOW VARIABLES WHERE `variable_name` = 'max_connections'");
|
||||||
|
if (!$r)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
$max = intval($r[0]["Value"]);
|
||||||
|
if ($max == 0)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
$r = q("SHOW STATUS WHERE `variable_name` = 'Threads_connected'");
|
||||||
|
if (!$r)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
$used = intval($r[0]["Value"]);
|
||||||
|
if ($used == 0)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
logger("Connection usage (system values): ".$used."/".$max, LOGGER_DEBUG);
|
||||||
|
|
||||||
$level = $used / $max;
|
$level = $used / $max;
|
||||||
|
|
||||||
if ($level < (3/4))
|
if ($level < (3/4))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
logger("Maximum level (3/4) of connections reached: ".$used."/".$max);
|
logger("Maximum level (3/4) of system connections reached: ".$used."/".$max);
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue