php服务器测试工具

  • F6_537058
    了解作者
  • 33.2KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-01 07:54
    上传日期
php 服务器性能测试,Linux Windows 均可测试
php.zip
  • index.php
    4.3KB
  • phpinfo.php
    17B
  • list.php
    4.6KB
  • info.php
    37.9KB
  • php.php
    41.1KB
  • p.php
    28.8KB
内容介绍
<?php // 请勿去掉版权信息,谢谢 // Yahei.Net error_reporting(0); //抑制所有错误信息 @header("content-Type: text/html; charset=utf-8"); //语言强制 ob_start(); $version = "v0.2.6"; define('HTTP_HOST', preg_replace('~^www\.~i', '', $_SERVER['HTTP_HOST'])); $time_start = microtime_float(); function memory_usage() { $memory = ( ! function_exists('memory_get_usage')) ? '0' : round(memory_get_usage()/1024/1024, 2).'MB'; return $memory; } // 计时 function microtime_float() { $mtime = microtime(); $mtime = explode(' ', $mtime); return $mtime[1] + $mtime[0]; } //单位转换 function formatsize($size) { $danwei=array(' B ',' K ',' M ',' G ',' T '); $allsize=array(); $i=0; for($i = 0; $i <4; $i++) { if(floor($size/pow(1024,$i))==0){break;} } for($l = $i-1; $l >=0; $l--) { $allsize1[$l]=floor($size/pow(1024,$l)); $allsize[$l]=$allsize1[$l]-$allsize1[$l+1]*1024; } $len=count($allsize); for($j = $len-1; $j >=0; $j--) { $strlen = 4-strlen($allsize[$j]); if($strlen==1) $allsize[$j] = "<font color='#FFFFFF'>0</font>".$allsize[$j]; elseif($strlen==2) $allsize[$j] = "<font color='#FFFFFF'>00</font>".$allsize[$j]; elseif($strlen==3) $allsize[$j] = "<font color='#FFFFFF'>000</font>".$allsize[$j]; $fsize=$fsize.$allsize[$j].$danwei[$j]; } return $fsize; } function valid_email($str) { return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $str)) ? FALSE : TRUE; } //检测PHP设置参数 function show($varName) { switch($result = get_cfg_var($varName)) { case 0: return '<font color="red">不支持</font>'; break; case 1: return '支持'; break; default: return $result; break; } } //保留服务器性能测试结果 $valInt = isset($_POST['pInt']) ? $_POST['pInt'] : "未测试"; $valFloat = isset($_POST['pFloat']) ? $_POST['pFloat'] : "未测试"; $valIo = isset($_POST['pIo']) ? $_POST['pIo'] : "未测试"; if ($_GET['act'] == "phpinfo") { phpinfo(); exit(); } elseif($_POST['act'] == "整型测试") { $valInt = test_int(); } elseif($_POST['act'] == "浮点测试") { $valFloat = test_float(); } elseif($_POST['act'] == "IO测试") { $valIo = test_io(); } elseif($_POST['act']=="开始测试")//网速测试,等你来完善。 { ?> <script language="javascript" type="text/javascript"> var acd1; acd1 = new Date(); acd1ok=acd1.getTime(); </script> <?php for($i=1;$i<=1000;$i++){ echo "<!--567890#########0#########0#########0#########0#########0#########0#########0#########012345-->"; } ?> <script language="javascript" type="text/javascript"> var acd2; acd2 = new Date(); acd2ok=acd2.getTime(); window.location = '?speed=' +(acd2ok-acd1ok)+'#bottom'; </script> <?php }elseif($_GET['act'] == "Function") { $arr = get_defined_functions(); Function php() { } echo "<pre>"; Echo "这里显示系统所支持的所有函数,和自定义函数\n"; print_r($arr); echo "</pre>"; exit(); } //MySQL检测 if ($_POST['act'] == 'MySQL检测') { $host = isset($_POST['host']) ? trim($_POST['host']) : ''; $port = isset($_POST['port']) ? (int) $_POST['port'] : ''; $login = isset($_POST['login']) ? trim($_POST['login']) : ''; $password = isset($_POST['password']) ? trim($_POST['password']) : ''; $host = preg_match('~[^a-z0-9\-\.]+~i', $host) ? '' : $host; $port = intval($port) ? intval($port) : ''; $login = preg_match('~[^a-z0-9\_\-]+~i', $login) ? '' : htmlspecialchars($login); $password = is_string($password) ? htmlspecialchars($password) : ''; } elseif ($_POST['act'] == '函数检测') { $funRe = "函数".$_POST['funName']."支持状况检测结果:".isfun($_POST['funName']); } elseif ($_POST['act'] == '邮件检测') { $mailRe = "邮件发送检测结果:发送"; $mailRe .= (false !== @mail($_POST["mailAdd"], "http://".$_SERVER['SERVER_NAME'].($_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']), "This is a test mail!")) ? "完成":"失败"; } //网络速度测试 if(isset($_POST['speed'])) { $speed=round(100/($_POST['speed']/1000),2); } elseif($_GET['speed']=="0") { $speed=6666.67; } elseif(isset($_GET['speed']) and $_GET['speed']>0) { $speed=round(100/($_GET['speed']/1000),2); } else { $speed="<font color=\"red\">&nbsp;未探测&nbsp;</font>"; } // 检测函数支持 function isfun($funName = '') { if (!$funName || trim($funName) == '' || preg_match('~[^a-z0-9\_]+~i', $funName, $tmp)) return '错误'; return (false !== function_exists($funName)) ? '支持' : '<font color="red">不支持</font>'; } //整数运算能力测试 function test_int() { $timeStart = gettimeofday(); for($i = 0; $i < 3000000; $i++) { $t = 1+1; } $timeEnd = gettimeofday(); $time = ($timeEnd["usec"]-$timeStart["usec"])/1000000+$timeEnd["sec"]-$timeStart["sec"]; $time = round($time, 3)."秒"; return $time; } //浮点运算能力测试 function test_float() { //得到圆周率值 $t = pi(); $timeStart = gettimeofday(); for($i = 0; $i < 3000000; $i++) { //开平方 sqrt($t); } $timeEnd = gettimeofday(); $time = ($timeEnd["usec"]-$timeStart["usec"])/1000000+$timeEnd["sec"]-$timeStart["sec"]; $time = round($time, 3)."秒"; return $time; } //IO能力测试 function test_io() { $fp = @fopen(PHPSELF, "r"); $timeStart = gettimeofday(); for($i = 0; $i < 10000; $i++) { @fread($fp, 10240); @rewind($fp); } $timeEnd = gettimeofday(); @fclose($fp); $time = ($timeEnd["usec"]-$timeStart["usec"])/1000000+$timeEnd["sec"]-$timeStart["sec"]; $time = round($time, 3)."秒"; return($time); } // 根据不同系统取得CPU相关信息 switch(PHP_OS) { case "Linux": $sysReShow = (false !== ($sysInfo = sys_linux()))?"show":"none"; break; case "FreeBSD": $sysReShow = (false !== ($sysInfo = sys_freebsd()))?"show":"none"; break; case "WINNT": $sysReShow = (false !== ($sysInfo = sys_windows()))?"show":"none"; break; default: break; } //linux系统探测 function sys_linux() { // CPU if (false === ($str = @file("/proc/cpuinfo"))) return false; $str = implode("", $str); @preg_match_all("/model\s+name\s{0,}\:+\s{0,}([\w\s\)\(\@.-]+)([\r\n]+)/s", $str, $model); @preg_match_all("/cpu\s+MHz\s{0,}\:+\s{0,}([\d\.]+)[\r\n]+/", $str, $mhz); @preg_match_all("/cache\s+size\s{0,}\:+\s{0,}([\d\.]+\s{0,}[A-Z]+[\r\n]+)/", $str, $cache); @preg_match_all("/bogomips\s{0,}\:+\s{0,}([\d\.]+)[\r\n]+/", $str, $bogomips); if (false !== is_array($model[1])) { $res['cpu']['num'] = sizeof($model[1]); for($i = 0; $i < $res['cpu']['num']; $i++) { $res['cpu']['model'][] = $model[1][$i]; $res['cpu']['mhz'][] = $mhz[1][$i]; $res['cpu']['cache'][] = $cache[1][$i]; $res['cpu']['bogomips'][] = $bogomips[1][$i]; } if (false !== is_array($res['cpu']['model'])) $res['cpu']['model'] = implode("<br />", $res['cpu']['model']); if (false !== is_array($res['cpu']['mhz'])) $res['cpu']['mhz'] = implode("<br />", $res['cpu']['mhz']); if (false !== is_array($res['cpu']['cache'])) $res['cpu']['cache'] = implode("<br />", $res['cpu']['cache']); if (false !== is_array($res['cpu']['bogomips'])) $res['cpu']['bogomips'] = implode("<br />", $res['cpu']['bogomips']); } // NETWORK // UPTIME if (false === ($str = @file("/proc/uptime"))) return false; $str = explode(" ", implode("", $str)); $str = trim($str[0]); $min = $str / 60; $hours = $min / 60; $days = floor($hours / 24); $hours = floor($hours - ($days * 24)); $min = floor($min - ($days * 60 * 24) - ($hours * 60)); if ($days !== 0) $res['uptime'] = $days."天"; if ($hours !== 0) $res['uptime'] .= $hours."�
评论
    相关推荐
    • 服务器测试工具
      一个基于完成端口的测试工具。主要功能是发发数据包,测试服务器反应。数据包格式可以通过C语言脚本自行定义。 脚本最主要的工作就是组合数据,然后调用tcc_send函数发送,发送之后将发送的字节数返回即可
    • opc-ua统一标准客户端/服务器测试工具
      opc ua统一标准客户端/服务器测试工具,支持创建 DA Server/Client,AC Server/Client, HA/HE Server/Client等测试应用进行测试。
    • http服务器测试工具
      压力测试,可以下载进行相关的测试服务器与程序哦,但要装net4.0以上才可以使用~
    • KMS服务器测试工具
      可以测试KMS服务器的激活状况,vlmcsd-1111-2017-06-17-Hotbird64架设后,可以使用此工具测试是否正常!
    • 服务器测试工具.rar
      服务器测试工具.你们懂得,不需要我解释,直接可以用,
    • TCP服务器测试工具
      TCP服务器测试工具, TCP服务器测试工具 TCP服务器测试工具 TCP服务器测试工具
    • TCP服务器测试工具
      TCP UDP 发包测试工具,UPD TCP 代码调试助手
    • Asp服务器本地测试工具
      2.是双击(良精小精灵Asp服务器.exe)即可运行,绿色免安装。 测试和使用: www文件夹为网站主目录 index.asp 为默认网站头文件 1.默认打开演示CMS系统 2.右击图标,则弹出系统菜单 3.选择系统菜单顶部的打开网站...
    • radius-ntradping(RADIUS服务器测试工具)
      NTRadPing(RADIUS服务器测试工具)是一个免费Radius工具,可以模拟给Radius服务器发送验证信息,测试Radius服务是否正常。
    • SIM800C_MQTT.rar
      使用SIM800C模块,使用MQTT协议,连接中国移动onenet平台,能实现数据的订阅、发布、存储等