From 222b01f5169f1c7e69762e0e8904c24f78f71882 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Wed, 28 Jul 2010 11:52:48 +0200 Subject: update to MediaWiki 1.16.0 --- maintenance/mctest.php | 112 ++++++++++++++++++++++++++++--------------------- 1 file changed, 65 insertions(+), 47 deletions(-) (limited to 'maintenance/mctest.php') diff --git a/maintenance/mctest.php b/maintenance/mctest.php index aef6d6db..3667cb93 100644 --- a/maintenance/mctest.php +++ b/maintenance/mctest.php @@ -3,63 +3,81 @@ * This script makes several 'set', 'incr' and 'get' requests on every * memcached server and shows a report. * - * $Id: mctest.php 37886 2008-07-21 17:06:35Z greg $ - * @file + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * http://www.gnu.org/copyleft/gpl.html + * * @ingroup Maintenance */ -$optionsWithArgs = array( 'i' ); - -require_once('commandLine.inc'); +require_once( dirname(__FILE__) . '/Maintenance.php' ); -function microtime_float() -{ - list($usec, $sec) = explode(" ", microtime()); - return ((float)$usec + (float)$sec); -} - - -#$wgDebugLogFile = '/dev/stdout'; +class mcTest extends Maintenance { + public function __construct() { + parent::__construct(); + $this->mDescription = "Makes several 'set', 'incr' and 'get' requests on every" + . " memcached server and shows a report"; + $this->addOption( 'i', 'Number of iterations', false, true ); + $this->addArg( 'server', 'Memcached server to test', false ); + } -if ( isset( $args[0] ) ) { - $wgMemCachedServers = array( $args[0] ); -} -if ( isset( $options['i'] ) ) { - $iterations = $options['i']; -} else { - $iterations = 100; -} + public function execute() { + global $wgMemCachedServers; -foreach ( $wgMemCachedServers as $server ) { - print "$server "; - $mcc = new MemCachedClientforWiki( array('persistant' => true) ); - $mcc->set_servers( array( $server ) ); - $set = 0; - $incr = 0; - $get = 0; - $time_start=microtime_float(); - for ( $i=1; $i<=$iterations; $i++ ) { - if ( !is_null( $mcc->set( "test$i", $i ) ) ) { - $set++; - } - } + $iterations = $this->getOption( 'i', 100 ); + if( $this->hasArg() ) + $wgMemCachedServers = array( $this->getArg() ); - for ( $i=1; $i<=$iterations; $i++ ) { - if ( !is_null( $mcc->incr( "test$i", $i ) ) ) { - $incr++; + foreach ( $wgMemCachedServers as $server ) { + $this->output( $server . " " ); + $mcc = new MemCachedClientforWiki( array('persistant' => true) ); + $mcc->set_servers( array( $server ) ); + $set = 0; + $incr = 0; + $get = 0; + $time_start = $this->microtime_float(); + for ( $i=1; $i<=$iterations; $i++ ) { + if ( !is_null( $mcc->set( "test$i", $i ) ) ) { + $set++; + } + } + for ( $i=1; $i<=$iterations; $i++ ) { + if ( !is_null( $mcc->incr( "test$i", $i ) ) ) { + $incr++; + } + } + for ( $i=1; $i<=$iterations; $i++ ) { + $value = $mcc->get( "test$i" ); + if ( $value == $i*2 ) { + $get++; + } + } + $exectime = $this->microtime_float() - $time_start; + + $this->output( "set: $set incr: $incr get: $get time: $exectime\n" ); } } - for ( $i=1; $i<=$iterations; $i++ ) { - $value = $mcc->get( "test$i" ); - if ( $value == $i*2 ) { - $get++; - } + /** + * Return microtime() as a float + * @return float + */ + private function microtime_float() { + list($usec, $sec) = explode(" ", microtime()); + return ((float)$usec + (float)$sec); } - $exectime=microtime_float()-$time_start; - - print "set: $set incr: $incr get: $get time: $exectime\n"; } - - +$maintClass = "mcTest"; +require_once( DO_MAINTENANCE ); -- cgit v1.2.3-54-g00ecf