IIS 8.5失败的请求跟踪报告0时间

时间:2015-03-02 21:38:29

标签: php iis tracing

我安装了一些失败的请求跟踪(在Windows Server 2012上的IIS 8.5中),以尝试分析为什么某些页面加载比其他页面加载更长的时间。我们有一种情况,有时一个页面会在几秒钟内加载,然后其他时间需要20秒才能处理。所以我希望我可以使用FRT帮助我分析那些花费很长时间的时间。

question here非常相似,但确实显示了一点时间,而我的确没有。我的问题与转移时间无关(至少在IIS和我之间没有)。

这不仅仅是静态HTML。这些页面由PHP动态生成,而PHP又调用数据库来检索信息。我希望能够辨别IIS或PHP所花费的时间之间的差异,但我的日志文件都显示FRT的每个元素的0时间(或0持续时间)。

对我来说有点枪击,因为我不确切地知道哪个部分会报告我所追求的内容,但这是我的配置:

Content = All 
Conditions:  Time = 2 (which is >2 if I read the help file correctly) 
Trace Providers:  ISAPI Extensions (verbose), WWW
Server (verbose)
  *  For WWW Server I have marked each of the 'Areas'

对PHP进行编码,使其报告所花费的时间。这告诉我在某些条件下需要6-8秒。 (这是为此目的而设计的测试文件,因此它会执行50次查询,报告整个时间。)有时,在该运行中只有一个查询需要15-20秒来处理。虽然FRT日志会记录跟踪,但它会说所花费的时间仅为2.532秒(作为示例),即使PHP(和挂钟)说它是6-8秒。但同样,查看FRT日志的详细信息,它只显示0时间,无论实际花费多长时间。

我真正希望看到的是PHP调用的时间长短; IIS在返回结果之前必须等待它完成,所以它似乎会记录下来......

谢谢, 贾斯汀

1 个答案:

答案 0 :(得分:0)

当你在FRT上设置2的时间限制时,不幸的是,在达到2秒的阶段停止了跟踪。

有几种方法可以解决它。如果它位于可以限制流量的计算机上,例如开发或测试装备,那么您可以将其设置为跟踪' 200'的结果。用于状态代码。它会记录所有成功(但长时间运行)的请求。

如果不可能,那么将迹线设置为更接近问题时间刻度将有所帮助。因此,在您的情况下,将其设置为6秒,您将看到流程的所有阶段,直至运行的阶段