我有一个网站,允许用户选择一些复选框设置,将它们保存为数据库中的报告,并在任何时候回来运行它们。
其中一些保存的报告可能需要五(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管理员中应用程序超时的默认值?
你在应用程序中设置了什么?
的CFCthis.applicationtimeout =
我也怀疑你可能有一个长时间运行的数据库查询。也就是说数据库端的处理是长时间运行的,而不是CF消耗的时间。也许您需要在Coldfusion管理员中检查与您的应用程序关联的数据源的超时。
你可能有很多数据,或者你可能需要优化你的查询,甚至检查你的表的索引,如果是这种情况。
希望对大家有所帮助