最近装了一个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多秒,我感觉有点过了请大家帮忙看一下。。

解决方案 »

  1.   

    楼主可以下载个php探针,测试下,下面贴个参考代码<?php
    $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>
       
      

  2.   

    未完,继续<tr><td bgcolor="#fff3ff" width=25%>VARIANT support</td>
           <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>