1

我有一个网站,允许用户选择一些复选框设置,将它们作为报告保存在数据库中,并随时返回运行它们。

其中一些已保存的报告可能需要五 (5) 分钟多一点的时间才能完成。有时他们运行正常,有时他们会让浏览器挂起“等待 http ...”。在监视 Web 服务器时,我发现 CPU 在持续使用 50% 的 CPU 大约 5 分 30 秒后下降。

我经验丰富,多年来在许多地方调整了许多设置!我已经用尽了所有可能阻止 IIS 放弃长时间运行请求的超时设置。有任何想法吗?

我的环境...

  • ColdFusion 8.0.1 (JRun)
  • IIS 6.0(DefaultAppPool、默认应用程序、
  • Windows Server 2003 R2 标准 SP 2

我尝试调整但没有运气的设置...

冷融合...

<cfset this.sessionTimeout = createTimeSpan(0,2,0,0)>
<cfsetting requesttimeout="4800">

ColdFusion 管理员...

  • 600 秒后的超时请求
  • 600 秒后在队列中等待的超时请求

IIS 默认网站属性...

  • 连接超时:120 + 是:启用 HTTP Keep-Alives
  • 应用程序池:DefaultAppPool
  • 应用程序配置选项选项卡:启用会话状态:是;会话超时:20 分钟;

默认应用程序池属性...

  • 回收:1740分钟
  • 空闲超时:在... 20 分钟后关闭工作进程
  • 健康:启用 ping:是每 30 秒
  • 启用快速故障保护:否(我也尝试过:是,失败者:5 分钟,时间段:5 分钟
  • 启动时间限制:90秒
  • 关机时间限制:90秒
4

1 回答 1

0

有很多地方可以寻找这个..

您尚未发布应用程序的完整设置。您是否在 Coldfusion 管理员中检查了应用程序超时的默认值?

您在 application.cfc 中设置了什么设置

this.applicationtimeout = 

我也怀疑您可能有一个长时间运行的数据库查询。那就是数据库端的处理是长时间运行而不是CF耗时。也许您需要在 Coldfusion 管理员中检查与您的应用程序关联的数据源的超时。

您可能有大量数据,或者您可能需要优化查询,甚至在这种情况下检查表的索引。

希望它有一点帮助

于 2011-11-08T07:07:48.977 回答