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

发布于 2024-12-05 01:54:24 字数 1090 浏览 1 评论 0原文

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

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

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

我的环境...

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

设置我尝试调整但没有成功...

ColdFusion ...

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

ColdFusion 管理员...

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

IIS 默认网站属性...

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

默认应用程序池属性。 .

  • 回收:1740分钟
  • 空闲超时:在...20分钟后关闭工作进程运行状况
  • :启用pinging:是每30秒
  • 启用快速失败保护:否(我也尝试过:是,故障次数:5 分钟,时间段:5 分钟
  • 启动时间限制:90 秒
  • 关闭时间限制:90 秒

I have a web site that allows users to select some checkbox settings, save them as reports in a database, and come back to run them at any time.

Some of these saved reports can take a little over five (5) minutes to complete. Sometimes they run O.K. Other times they will leave the browser hanging with "waiting for http...". While monitoring the web server I see that the CPU drops off after about 5 minutes 30 seconds of sustained 50% CPU.

I am experienced and have tweaked MANY settings in many places over the years! I have exhausted my search of all timeout settings that could possibly prevent IIS from giving up on long-running requests. Any ideas?

My Environment...

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

Settings I have Tried To Tweak With No Luck...

ColdFusion...

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

ColdFusion Administrator...

  • Timeout requests after 600 seconds
  • Timeout requests waiting in queue after 600 seconds

IIS Default Web Site Properties...

  • Conection timeout: 120 + Yes: Enable HTTP Keep-Alives
  • Application Pool: DefaultAppPool
  • Application Configuration Options Tab: Enable Session State: Yes; Session Timeout: 20 minutes;

Default App Pool Properties...

  • Recycling: 1740 minutes
  • Idle Timeout: Shutdown worker processes after... 20 minutes
  • Health: Enable pinging: yes every 30 seconds
  • Enable rapid-fail protection: no (I also tried: yes, Failuters: 5 minutes, Time Period: 5 minutes
  • Startup time limit: 90 seconds
  • Shutdown time limit: 90 seconds

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

请叫√我孤独 2024-12-12 01:54:24

有很多地方可以查找此内容。

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

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

this.applicationtimeout = 

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

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

希望有一点帮助

There are a number of places to look for this..

You have not posted the complete setting for the application. Have you checked the default values for application timeout in the Coldfusion administrator ?

What setting have you put in your application.cfc for

this.applicationtimeout = 

I am also suspicious that you may have a long running database query. That is the processing on the database side is long running rather than CF consuming time. Maybe you need to check the timeouts in the Coldfusion administrator for the datasource associated with your application.

You may have a lot of data or you may need to optimise your query or even check the indexing of your tables if this is the case.

Hope it helps a little

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文