您现在的位置: 破洛洛 >> 建站学院 >> 网站开发 >> CGI教程 >> 正文

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

作者:佚名 来源:CNZZ 更新时间:2007-12-28
分享到

以测试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 程序的测试方法可能都各不相同,没有直接的可比性。不同的环境测试结果也不一样,从外部测的结果要更全面一些。

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

 

转载请注明:破洛洛(谢谢合作)

  • 上一篇文章:
  • 下一篇文章:
  • 网友评论: