Aaron Schulz has uploaded a new change for review.
https://gerrit.wikimedia.org/r/181248
Change subject: Log to DBPerformance log when many LB connections are acquired
......................................................................
Log to DBPerformance log when many LB connections are acquired
Change-Id: Idcb7233bc418a793b87f4d445807be5eced12d95
---
M includes/db/LoadBalancer.php
1 file changed, 15 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/48/181248/1
diff --git a/includes/db/LoadBalancer.php b/includes/db/LoadBalancer.php
index f1b3238..6d07040 100644
--- a/includes/db/LoadBalancer.php
+++ b/includes/db/LoadBalancer.php
@@ -58,8 +58,13 @@
private $mLaggedSlaveMode;
/** @var string The last DB selection or connection error */
private $mLastError = 'Unknown error';
+ /** @var integer Total connections opened */
+ private $connsOpened = 0;
/** @var ProcessCacheLRU */
private $mProcCache;
+
+ // Warn when this many connection are held
+ const CONN_HELD_WARN = 10;
/**
* @param array $params Array with keys:
@@ -752,6 +757,14 @@
$server['dbname'] = $dbNameOverride;
}
+ // Log when many connection are made on requests
+ if ( ++$this->connsOpened >= self::CONN_HELD_WARN ) {
+ $masterAddr = $this->getServerName( 0 );
+ wfDebugLog( 'DBPerformance', __METHOD__ . ": " .
+ "{$this->connsOpened}+ connections made
(master=$masterAddr)\n" .
+ wfBacktrace( true ) );
+ }
+
# Create object
try {
$db = DatabaseBase::factory( $server['type'], $server );
@@ -923,6 +936,7 @@
'foreignFree' => array(),
'foreignUsed' => array(),
);
+ $this->connsOpened = 0;
}
/**
@@ -939,6 +953,7 @@
if ( $conn === $candidateConn ) {
$conn->close();
unset(
$this->mConns[$i1][$i2][$i3] );
+ --$this->connsOpened;
$done = true;
break;
}
--
To view, visit https://gerrit.wikimedia.org/r/181248
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Idcb7233bc418a793b87f4d445807be5eced12d95
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Aaron Schulz <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits