哪些IIS设置将允许我处理长时间运行的ColdFusion请求而不放弃IIS



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

其中一些保存的报告可能需要五(5)分钟多一点才能完成。有时它们运行正常,有时它们会让浏览器挂起,显示"等待http…"。在监视web服务器时,我看到CPU在持续50% CPU后大约5分30秒下降。

我经验丰富,多年来在许多地方调整了许多设置!我已经搜索了所有可能阻止IIS放弃长时间运行请求的超时设置。什么好主意吗?

我的环境…

  • ColdFusion 8.0.1 (JRun)
  • IIS 6.0 (DefaultAppPool, Default Application,
  • )
  • Windows Server 2003 R2 Standard SP 2

设置我已经尝试调整没有运气…

ColdFusion…

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

ColdFusion管理员…

  • 600秒后请求超时
  • 600秒后排队等待的超时请求

IIS默认网站属性…

  • 连接超时:120 + Yes:启用HTTP keep - alive
  • 应用池:DefaultAppPool
  • Application Configuration Options选项卡:Enable Session State: Yes;会话超时时间:20分钟;

默认应用程序池属性…

  • 回收:1740分钟
  • 空闲超时:关闭工作进程后…20分钟
  • 运行状况:启用ping:是每30秒
  • 启用快速故障保护:no (I also tried: yes, failures: 5分钟,Time Period: 5分钟
  • 启动时间限制:90秒
  • 关机时间限制:90秒

有很多地方可以找到这个…

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

你在应用程序中设置了什么?

的CFC
this.applicationtimeout = 

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

你可能有很多数据,或者你可能需要优化你的查询,甚至检查你的表的索引,如果是这种情况。

希望对大家有所帮助

最新更新