diff options
Diffstat (limited to 'maintenance/mctest.php')
-rw-r--r-- | maintenance/mctest.php | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/maintenance/mctest.php b/maintenance/mctest.php new file mode 100644 index 00000000..95249b29 --- /dev/null +++ b/maintenance/mctest.php @@ -0,0 +1,59 @@ +<?php +/* $Id: mctest.php 12896 2006-01-28 08:22:24Z timstarling $ */ + +$optionsWithArgs = array( 'i' ); + +require_once('commandLine.inc'); + +#$wgDebugLogFile = '/dev/stdout'; + +if ( isset( $args[0] ) ) { + $wgMemCachedServers = array( $args[0] ); +} else { + $wgMemCachedServers[] = 'localhost'; +} +if ( isset( $options['i'] ) ) { + $iterations = $options['i']; +} else { + $iterations = 100; +} + +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++; + } + } + + 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=microtime_float()-$time_start; + + print "set: $set incr: $incr get: $get time: $exectime\n"; +} + +function microtime_float() +{ + list($usec, $sec) = explode(" ", microtime()); + return ((float)$usec + (float)$sec); +} + + +?> |