<% dim ModuleName,InfoID,ChannelShortName,CorrelativeArticle,InstallDir,ChannelDir,Keyword,PageTitle,ArticleIntro,Articlecontent Keyword=stripHTML("WEB,CGI,perl,应用,技巧") PageTitle=stripHTML("外部准确测试你的脚本执行时间") ArticleIntro=stripHTML("") Articlecontent=stripHTML("以测试LB首页代码为例子               作个t.cgi文件,里面如下               ##################      …") ModuleName = stripHTML("classical") InfoID = stripHTML("25434") ChannelShortName=stripHTML("文章") InstallDir=stripHTML("http://www.77169.com/") ChannelDir=stripHTML("classical") %> 外部准确测试你的脚本执行时间 - 华盟网 - http://www.77169.com
您现在的位置: 华盟网 >> 知识库 >> WEB开发 >> CGIperl >> 应用技巧 >> 正文

外部准确测试你的脚本执行时间

2005/8/29 作者:unknown 来源: unknown
导读 <% if len(ArticleIntro)<3 then Response.Write Articlecontent 'Response.Write "Articlecontent" else Response.Write ArticleIntro 'Response.Write "ArticleIntro" end if %>


以测试LB首页代码为例子
作个t.cgi文件,里面如下
##################
#!/usr/bin/perl
use Benchmark;
$TT0 = new Benchmark;
do "leoboard.cgi";
#################完
如果原代码leoboard.cgi前面有use Benchmark;
$TT0 = new Benchmark;
请先删除掉

程序结尾加上
$TT1 = new Benchmark;
$td = Benchmark::timediff($TT1, $TT0);
$td = Benchmark::timestr($td);
$td =~ /(\d+)\s*wallclock secs \(\s*?(\d*?\.\d*?)\s*usr\s*\+\s*(\d*?\.\d*?)\s*sys/i;
my $alltimas=($2+$3)*1000;
print "<center><font color=$cpudispcolor>程序占用 CPU 时间:$2 usr + $3 sys 合计运行时间 $alltimas 毫秒";

然后,本机执行http://localhost/lb5000xp/cgi-bin/t.cgi

普通的内部测试方法忽略了脚本最初装载和初始化的时间,两种方法测试差别较大

这个时间“毫秒级”一闪而过,本机观察肉眼是察觉不明显的,但对于服务器来说,在线人数多了可能就会明显了,但此测试结果反映不出来网络传输所占的时间,那是另一回事

很多asp 和php 程序的测试方法可能都各不相同,没有直接的可比性。不同的环境测试结果也不一样,从外部测的结果要更全面一些。

还有,我理解资源占用和运行速度是两个概念,假设你的脚本占用内存较多,但代码效率也可能比较高,造成单机测试速度也许并不慢。但放在服务器上在线人数多了问题就来了。所以,设计代码的时候,尽量节省你的脚本内存使用为好。

 



  • 上一篇文章:

  • 下一篇文章: