2013-04-03 29 views

回答

10

使用

<cfset var startTicks = GetTickCount() /> 
<!--- code to benchmark ---> 
<cfset var ticksTaken = GetTickCount() - startTicks /> 

为更好地控制。请注意,蜱是毫秒,除非差异(绝对值无意义),否则不相关。

+0

谢谢,这真的很有帮助。 – Pankaj

2

如果可以的话,那将是非常棘手的事,并试图采取方挂出一个圆洞。但是你可以很容易地使用getTickCount()拿...好...滴答计数前和手术后,以及两者之间的区别是你的时间。然后你可以用你想要的做什么。

+0

雅,我明白了。谢谢。 – Pankaj

5

正如Adam和MaxH所述,您需要使用getTickCount()来记录脚本。

的GetTickCount()不只是为了排除故障,你可以做很多很酷的东西吧。如果你愿意,你还可以将onRequest函数内部做这时候所有的脚本,并在需要时作出反应很长的脚本。

<cffunction name = "onRequest"> 
    <cfargument name = "targetPage" ...> 
    <cfset startTime = getTickCount()> 
    <cfinclude template = "#arguments.targetPage#"> 
    <cfset processTime = getTickCount()-startTime> 
    <cfif structKeyExists(url,"showTime")> 
    <cfoutput>The page took #processTime# milliseconds to process</cfoutput> 
    </cfif> 
    <!--- you could also do other stuff like record processing times to a db or send alerts if processTime > somevalue ---> 
</cffunction> 

我有一个项目依赖于客户订阅的大量外部数据。我将单个进程的所有处理时间保存到会话结构中,以便我可以查看是我还是导致速度减慢的第三方Web服务之一。如果其中一项Web服务陷入低谷,我会提醒客户,以便他们决定是否要选择不同的服务。

+0

感谢您的上述解释。 – Pankaj