| 
 
     
- UID
 - 2031431 
 - 威望
 - 27 点 
 - 金钱
 - 2 金币 
 - 点卡
 - 10 点 
 
  | 
1#
 
发表于 2003-9-2 11:17
 |  只看该作者
 
 
 
 [转帖]外部准确测试你的脚本执行时间
外部准确测试你的脚本执行时间  编辑 | 删除 | 引用 | 回复 | 短信回复   
 
-------------------------------------------------------------------------------- 
 
以测试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 程序的测试方法可能都各不相同,没有直接的可比性。不同的环境测试结果也不一样,从外部测的结果要更全面一些。 
 
还有,我理解资源占用和运行速度是两个概念,假设你的脚本占用内存较多,但代码效率也可能比较高,造成单机测试速度也许并不慢。但放在服务器上在线人数多了问题就来了。所以,设计代码的时候,尽量节省你的脚本内存使用为好。 
 |   
 
 
 
哈哈哈!!!!你的IP是不是 ?我都知道了!!! | 
 
 
 
 |