最近装了一个WEB服务器,想测试下性能怎么样。有关参数我不是很了解。现在把所有的东西列在下面,大家帮忙看看性能如何,有什么优化的意见告诉我啊。
主机配置:
系统: windows xp sp2
CPU: Pentium(R) D 2.66G
内存: 2GWEB服务器(装在虚拟机里)
(以下是虚拟机内的)
系统: FreeBSD 7.0
内存: 1G
服务器: Lighttpd 1.4.19
数据库: MySQL 5.0
脚本: PHP 5.2.5
另外安装了: XCache + Memcached + Squid
没有用Zend Optimizer(好像和XCache有冲突...)我是在XP下用APACHE的ab做压力测试的。ab.exe -n 10000 -c 2000 http://192.168.10.120/phpinfo.php特别说明下,由于我在虚拟机内没有安装APACHE,所以无法用localhost测试。不知道大家有没有用IP来测试的参考数据。结果数据如下:Server Software: lighttpd
Server Hostname: 192.168.10.120
Server Port: 80Document Path: /phpinfo.php
Document Length: 45947 bytesConcurrency Level: 200
Time taken for tests: 116.859375 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 460900000 bytes
HTML transferred: 459470000 bytes
Requests per second: 85.57 [#/sec] (mean)
Time per request: 2337.188 [ms] (mean)
Time per request: 11.686 [ms] (mean, across all concurrent requests)
Transfer rate: 3851.61 [Kbytes/sec] receivedConnection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 3.2 0 15
Processing: 1328 2321 245.3 2250 3593
Waiting: 828 1720 245.7 1640 3000
Total: 1328 2322 245.4 2250 3593Percentage of the requests served within a certain time (ms)
50% 2250
66% 2296
75% 2328
80% 2359
90% 2828
95% 2906
98% 2984
99% 3046
100% 3593 (longest request)
其中:
Time taken for tests 有100多秒,我感觉有点过了请大家帮忙看一下。。
$envsion="空间检测";$sid = substr(md5(uniqid(rand())),0,8);
@mkdir("com", 0777);
@mkdir("com/$sid", 0777);$fd1=@fopen("com/$sid/index.txt","w");@fwrite($fd1,"test test again",10000);@fclose($fd1);@chmod("com/$sid/index.txt",0666);if(file_exists("com/$sid/index.txt"))
$jephp_status=1;
else
$jephp_status=0;
echo"
<html>
<head>
<title>$envsion</title>
<style>
A:link {text-decoration:none;color:#004080;font-family:verdana} A:visited {text-decoration:none;color:#004080;font-family:verdana} A:active {text-decoration:none;font-family:verdana} A:hover {text-decoration:underline:#ffffff;color:#FF0000} body,table {font-size:9pt;font-family:verdana}
</style>
</head>
<body>";
//变量区
$clo="#fff3ff";
$phpver=PHP_VERSION;
$phpos=php_uname();//also PHP_OS
$server_soft=getenv(server_software);
$server_ptc=getenv(server_protocol);
$server_lan=getenv(HTTP_ACCEPT_LANGUAGE);
$server_addr=getenv(SERVER_ADDR);
$server_host=getenv(HTTP_HOST);
$server_port=getenv(SERVER_PORT);
$server_admin=getenv(SERVER_ADMIN);
$server_disk_space = intval(diskfreespace("/") / (1024 * 1024));
$server_time=date("n月j日H点i分s秒");
$server_list=(__FILE__);
$server_cgi=getenv(GATEWAY_INTERFACE);
$server_tout=get_cfg_var("max_execution_time");
$server_func=get_cfg_var("disable_functions");
$server_user=get_current_user();
if (get_cfg_var("register_globals")=="1"){
$server_env="ON";
}else{
$server_env="OFF";
}
if($server_func){
$server_func=str_replace(" ","<br>",$server_func);
$server_func=str_replace(",","<br>",$server_func);
}else{
$server_func="无被禁函数";
}
if(get_cfg_var("safemode")){
$server_safe="是";
}else{
$server_safe="否";
}
@$connect=mysql_connect("localhost","root","690527404");
//代码区
if($_POST["ft"]=='cost'){
for($i=0;$i<4;$i++){
$nowtime = explode(" ", microtime());
$starttime = $nowtime[1] + $nowtime[0];
{
for($c=0;$c<1000001;$c++)
{
$g=1+1;
}
$nowtime = explode(" ", microtime());
$endtime = $nowtime[1] + $nowtime[0];
$totaltime = ($endtime - $starttime);
$costtime[$i] = number_format($totaltime, 7).'秒';
}}}
if(function_exists("imageline")){
$pic="<font color=green><b>支持</b></font>";}else{
$pic="<font color=red><b>不支持</b></font>";
}
if(function_exists("zend_version")){
$zendversion="<font color=green><b>".zend_version()."</b></font>";
}else{
$zendversion="<font color=red><b>不支持</b></font>";
}
$time=$costtime[1]+$costtime[2]+$costtime[3]+$costtime[4]+$costtime[5];
$ttime=number_format($time/5, 7).'秒';
if(function_exists("mysql_get_server_info")) {
$curr_mysql_version = mysql_get_server_info();
if(substr($curr_mysql_version, 0, 4) == "3.22") {
$msg .= "<font color=\"#FF0000\">您的 MySQL 版本低于 3.23,运行效率可能会受到影响.</font>\t";
}
} else {
$curr_mysql_version = "未知";
$msg .= "您的 PHP 版本较老, MySQL 版本检查函数无法使用.\t";
}
if (!$connect)
{$mysql="<font color=red><b>空间不支持数据库或者设置错误!</b></font>";}
else {$mysql="<font color=green><b>$curr_mysql_version</b></font>";
global $mysql;
}
function tc($temp){
if($temp==1)
echo'<font color=green><b>√</b></font>';
else echo'<font color=red><b>×</b></font>';
}
if(isset($HTTP_COOKIE_VARS)) $testcookie="通过";
else $testcookie="不通过";
if(get_cfg_var(file_uploads))
{
$max_size = get_cfg_var(upload_max_filesize);
$server_upload_status = "允许/最大 $max_size";
} else {
$server_upload_status = "不允许上传附件";
}
if($_POST['submit']){
$dbhost=$_POST['dbhost'].":".$_POST['dbport'];
$mytest=@mysql_connect("localhost","root","690527404");
if($mytest){
?>
<script language=javascript>
history.back()
alert("恭喜你,连接成功")
</script>
<?
}else{
?>
<script language=javascript>
history.back()
alert("sorry,连接失败,该用户名可能没有数据库连接权限")
</script><?
}
}//$Session_support=tc(get_magic_quotes_gpc("Session Support"));
echo"<table align='center' width='700' border='0' cellspacing='1' cellpadding='4' align='center' bgcolor='#ffffff'>
<tr><td colspan='6' bgcolor='#6666cc'><center><font color=white>杰易系统需求环境参数</font></cebter></td></tr>
<tr><td bgcolor='$clo' width=25%>自动定义全局变量register_globals:</td>
<td bgcolor='$clo' width=65%>$server_env</td></tr>
<tr><td bgcolor=#fff3ff width=25%>zend version</td>
<td bgcolor='#fff3ff' width=65%> $zendversion</td></TR>";?>
<tr><td bgcolor='#fff3ff' width=25%> Session support</td>
<td bgcolor='#fff3ff' width=65%><?tc(get_magic_quotes_gpc("Session Support"));?></td></tr>
<tr><td bgcolor='#fff3ff' width=25%>创建目录写文件权限:</td>
<td bgcolor='#fff3ff' width=65%><?tc($jephp_status);?></td></tr> <tr><td bgcolor="#fff3ff" width=25%>SMTP(地址:<?echo get_cfg_var("SMTP");?>)</td>
<td bgcolor="#fff3ff" width=65%><?tc(get_magic_quotes_gpc("smtp"));?></td></tr>
<?
echo" <tr><td colspan='6' bgcolor='#6666cc'><center><font color=white>服务器参数</font></cebter></td></tr>
<tr><td bgcolor='$clo' width=25%>用户身份:</td>
<td bgcolor='$clo' width=65%>$server_user</td></tr>
<tr><td bgcolor='$clo' width=25%>PHP程序版本:</td>
<td bgcolor='$clo' width=65%>$phpver</td></tr>
<tr><td bgcolor='$clo' width=25%>服务端地址:</td>
<td bgcolor='$clo' width=65%>$server_host</td></tr>
<tr><td bgcolor='$clo' width=25%>服务端OS:</td>
<td bgcolor='$clo' width=65%>$phpos</td></tr>
<tr><td bgcolor='$clo' width=25%>服务端软件系统:</td>
<td bgcolor=$clo width=65%>$server_soft</td></tr>
<tr><td bgcolor='$clo' width=25%>服务端IP地址:</td>
<td bgcolor='$clo' width=65%>$server_addr:$server_port</td></tr>
<tr><td bgcolor='$clo' width=25%>服务器语言环境:</td>
<td bgcolor='$clo' width=65%>$server_lan</td></tr>
<tr><td bgcolor='$clo' width=25%>PHP被禁用的函数:</td>
<td bgcolor='$clo' width=65%>$server_func</td></tr>
<tr><td bgcolor='$clo' width=25%>服务器时间:</td>
<td bgcolor='$clo' width=65%>$server_time</td></tr>
<tr><td bgcolor='$clo' width=25%>服务端通信协议:</td>
<td bgcolor='$clo' width=65%>$server_ptc</td></tr>
<tr><td bgcolor='$clo' width=25%>服务器可用空间大小:</td>
<td bgcolor='$clo' width=65%>".$server_disk_space."MB</td></tr>
<tr><td bgcolor='$clo' width=25%>运行于安全模式:</td>
<td bgcolor='$clo' width=65%>$server_safe</td></tr>
<tr><td bgcolor='$clo' width=25%>脚本超时限制:</td>
<td bgcolor='$clo' width=65%>$server_tout 秒</td></tr>
<tr><td bgcolor='$clo' width=25%>Cookie测试:</td>
<td bgcolor='$clo' width=65%>$testcookie</td></tr>
<tr><td bgcolor='$clo' width=25%>是否允许上传文件:</td>
<td bgcolor='$clo' width=65%>$server_upload_status</td></tr>
<tr><td bgcolor='$clo' width=25%>文件路径:</td>
<td bgcolor='$clo' width=65%>$server_list</td></tr>
<tr><td bgcolor='$clo' width=25%>技术支持:</td>
<td bgcolor='$clo' width=65%>$server_admin</td></tr>
";?>
<tr><td colspan="6" bgcolor="#6666cc"><center><font color=white>PHP基本参数</font></cebter></td></tr>
<tr><td bgcolor="#fff3ff" width=25%>GD库</td>
<td bgcolor="#fff3ff" width=65%><? echo $pic;?></td></TR>
<tr><td bgcolor="#fff3ff" width=25%>Dynamic Library</td>
<td bgcolor="#fff3ff" width=65%><?tc(get_magic_quotes_gpc("Dynamic Library Support"));?></td></TR>
<tr><td bgcolor="#fff3ff" width=25%>Internal Sendmail Support for Windows 4</td>
<td bgcolor="#fff3ff" width=65%><?tc(get_magic_quotes_gpc("Internal Sendmail Support for Windows 4"));?> </td></TR>
<tr><td bgcolor="#fff3ff" width=25%>BCMath support</td>
<td bgcolor="#fff3ff" width=65%><?tc(get_magic_quotes_gpc("BCMath support"));?></td></tr>
<tr><td bgcolor="#fff3ff" width=25%>Calendar support</td>
<td bgcolor="#fff3ff" width=65%><?tc(get_magic_quotes_gpc("Calendar support"));?></td></tr>
<td bgcolor="#fff3ff" width=65%><?tc(get_magic_quotes_gpc("VARIANT support"));?></td></tr>
<tr><td bgcolor="#fff3ff" width=25%>FTP support</td>
<td bgcolor="#fff3ff" width=65%><?tc(get_magic_quotes_gpc("FTP support"));?></font></td></TR>
<tr><td bgcolor="#fff3ff" width=25%>PCRE (Perl Compatible Regular Expressions) Support</td>
<td bgcolor="#fff3ff" width=65%><?tc(get_magic_quotes_gpc("PCRE (Perl Compatible Regular Expressions) Support"));?></font></td></TR>
<tr><td bgcolor="#fff3ff" width=25%>WDDX Support</td>
<td bgcolor="#fff3ff" width=65%><?tc(get_magic_quotes_gpc("WDDX Support"));?> </td></TR>
<tr><td bgcolor="#fff3ff" width=25%>XML Support</td>
<td bgcolor="#fff3ff" width=65%><?tc(get_magic_quotes_gpc("XML Support"));?> </td></tr>
<tr><td colspan="6" bgcolor="#6666cc"><center><font color=white>PHP其他参数</font></cebter></td></tr>
<tr><td bgcolor="#fff3ff" width=25%>Client API version</td>
<td bgcolor="#fff3ff" width=65%><?tc(get_magic_quotes_runtime("Client API version"));?></td></tr>
<tr><td bgcolor="#fff3ff" width=25%>PHP安全模式(Safe_mode)</td>
<td bgcolor="#fff3ff" width=65%><?$t=get_cfg_var("safe_mode");if($t=='yes'){$t=1;}else{$t=0;}tc($t);?></td></tr>
<tr><td colspan="6" bgcolor="#6666cc"><center><font color=white>服务器性能测试</font></cebter></td></tr>
<tr><td bgcolor="#fff3ff" width=25%>SHUTEER的电脑(C1G,256M)</td>
<td bgcolor="#fff3ff" width=65%><font color=green>0.7178538秒</font></td></tr>
<tr><td bgcolor="#fff3ff" width=25%>mygoodfriend.com</td>
<td bgcolor="#fff3ff" width=65%><font color=green>0.6846000秒</font></td></tr>
<tr><td bgcolor="#fff3ff" width=25%>www.s6.xrea.com</td>
<td bgcolor="#fff3ff" width=65%><font color=green>0.8339630秒</font></td></tr>
<tr><td bgcolor="#fff3ff" width=25%>www.atlastelecom.ro</td>
<td bgcolor="#fff3ff" width=65%><font color=green>7.1966250秒</font></td></tr>
<tr><td bgcolor="#fff3ff" width=25%>您正在使用的这台服务器</td>
<td bgcolor="#fff3ff" width=65%><font color=red><?if($ttime=="0.0000000秒"){echo'没测试';}else{echo $ttime;}?></font></td></tr>
<FORM action="<? echo $PHP_SELF;?>" method=post name=form><input name=ft value=cost type=hidden>
<tr><td bgcolor="#fff3ff" width=25%>对主机进行1+1的100万次计算</td>
<td bgcolor="#fff3ff" width=65%><INPUT type="submit" value="重新测试" class=backc id=submit name=test></td></tr>
</table>
</body>
</html>