File: 1.12.0a/server/test/standalone/wspeed.sh (View as HTML)

  1: #!/usr/bin/php -q
  2: <?php
  3: // wspeed.sh URI iterations [delay]
  4: // FreeNATS WebSpeed Dirty Debug Checker
  5: 
  6: $cfgReadSize=1024;
  7: $cfgQuiet=false;
  8: 
  9: $argc=$_SERVER['argc'];
 10: $argv=$_SERVER['argv'];
 11: 
 12: if ( ($argc<3) || ($argc>4) )
 13: 	{
 14: 	echo "FreeNATS wspeed.sh Debug Checker\n";
 15: 	echo "Usage: wspeed.sh URI iterations [delay]\n";
 16: 	echo "Example: wspeed.sh http://www.google.co.uk/ 100 60\n";
 17: 	echo " - get google 100 times with a 60 second sleep each time\n";
 18: 	echo "(default delay is 60 seconds if not specified)\n\n";
 19: 	exit();
 20: 	}
 21: 	
 22: $uri=$argv[1];
 23: $count=$argv[2];
 24: if ($argc>3) $delay=$argv[3];
 25: else $delay=60;
 26: 
 27: function fge($fp)
 28: {
 29: global $cfgQuiet,$cfgReadSize;
 30: if ($cfgQuiet) return @fgets($fp,$cfgReadSize);
 31: return fgets($fp,$cfgReadSize);
 32: }
 33: 
 34: $tries=0;
 35: $opened=0;
 36: $unopened=0;
 37: $readok=0;
 38: $readfail=0;
 39: 
 40: echo "FreeNATS Web Speed Debug Checker - ".$uri."\n";
 41: echo "Iterations: ".$count."      Delay: ".$delay."s\n\n";
 42: 
 43: 
 44: for ($i=0; $i<$count; $i++)
 45: 	{
 46: 	$startTime=microtime(true);
 47: 	$tries++;
 48: 	echo $i.". fopen: ";
 49: 	if ($cfgQuiet) $fp=@fopen($uri,"r");
 50: 	else $fp=fopen($uri,"r");
 51: 	if ($fp>0) // opened ok
 52: 		{
 53: 		$opened++;
 54: 		$size=0;
 55: 		echo round(microtime(true)-$startTime,4)." ";
 56: 		echo "ok, fgets: ";
 57: 		while ($body=fge($fp))
 58: 			{
 59: 			echo ".";
 60: 			$size+=strlen($body);
 61: 			}
 62: 		echo " ".$size.", closing: ";
 63: 		if ($size>0) $readok++;
 64: 		else $readfail++;
 65: 		if ($cfgQuiet) @fclose($fp);
 66: 		else fclose($fp);
 67: 		echo "ok";
 68: 		}
 69: 	else
 70: 		{
 71: 		echo "FAILED";
 72: 		$unopened++;
 73: 		}
 74: 	echo " ".round(microtime(true)-$startTime,4);
 75: 	echo "\n";
 76: 	
 77: 	if ($i<($count-1))
 78: 		sleep($delay);
 79: 	}
 80: 	
 81: echo "Finished.\n\n";
 82: echo "Tries: ".$tries."\n";
 83: echo $opened." Opened Ok, ".$unopened." FAILED to fopen()\n";
 84: echo $readok." Read Ok, ".$readfail." FAILED to fgets()\n";
 85: ?>
 86: 
 87: