|
以测试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 程序的测试方法可能都各不相同,没有直接的可比性。不同的环境测试结果也不一样,从外部测的结果要更全面一些。
还有,我理解资源占用和运行速度是两个概念,假设你的脚本占用内存较多,但代码效率也可能比较高,造成单机测试速度也许并不慢。但放在服务器上在线人数多了问题就来了。所以,设计代码的时候,尽量节省你的脚本内存使用为好。 |