X-Git-Url: https://scripts.mit.edu/gitweb/autoinstallsdev/mediawiki.git/blobdiff_plain/19e297c21b10b1b8a3acad5e73fc71dcb35db44a..6932310fd58ebef145fa01eb76edf7150284d8ea:/includes/db/LoadMonitor.php diff --git a/includes/db/LoadMonitor.php b/includes/db/LoadMonitor.php deleted file mode 100644 index 9b959728..00000000 --- a/includes/db/LoadMonitor.php +++ /dev/null @@ -1,132 +0,0 @@ -parent = $parent; - } - - function scaleLoads( &$loads, $group = false, $wiki = false ) { - } - - function getLagTimes( $serverIndexes, $wiki ) { - wfProfileIn( __METHOD__ ); - $expiry = 5; - $requestRate = 10; - - global $wgMemc; - if ( empty( $wgMemc ) ) - $wgMemc = wfGetMainCache(); - - $masterName = $this->parent->getServerName( 0 ); - $memcKey = wfMemcKey( 'lag_times', $masterName ); - $times = $wgMemc->get( $memcKey ); - if ( $times ) { - # Randomly recache with probability rising over $expiry - $elapsed = time() - $times['timestamp']; - $chance = max( 0, ( $expiry - $elapsed ) * $requestRate ); - if ( mt_rand( 0, $chance ) != 0 ) { - unset( $times['timestamp'] ); - wfProfileOut( __METHOD__ ); - return $times; - } - wfIncrStats( 'lag_cache_miss_expired' ); - } else { - wfIncrStats( 'lag_cache_miss_absent' ); - } - - # Cache key missing or expired - - $times = array(); - foreach ( $serverIndexes as $i ) { - if ($i == 0) { # Master - $times[$i] = 0; - } elseif ( false !== ( $conn = $this->parent->getAnyOpenConnection( $i ) ) ) { - $times[$i] = $conn->getLag(); - } elseif ( false !== ( $conn = $this->parent->openConnection( $i, $wiki ) ) ) { - $times[$i] = $conn->getLag(); - } - } - - # Add a timestamp key so we know when it was cached - $times['timestamp'] = time(); - $wgMemc->set( $memcKey, $times, $expiry ); - - # But don't give the timestamp to the caller - unset($times['timestamp']); - $lagTimes = $times; - - wfProfileOut( __METHOD__ ); - return $lagTimes; - } - - function postConnectionBackoff( $conn, $threshold ) { - if ( !$threshold ) { - return 0; - } - $status = $conn->getStatus("Thread%"); - if ( $status['Threads_running'] > $threshold ) { - return $status['Threads_connected']; - } else { - return 0; - } - } -} -