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

1: #!/usr/bin/php -q 2: 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: