避免 IIS 中的应用程序池预热

发布于 2024-10-15 04:49:02 字数 427 浏览 2 评论 0原文

我遇到了 ASP.net 站点(框架 3.5、IIS6)的问题,该站点的“首次点击”响应时间非常慢。我猜测问题与 应用程序池回收并且必须预热。

我开始思考。作为网站的一部分,我有一个 HTTP 模块,它在一个单独的线程上启动一个“永无止境的循环”,该线程定期(每 5 秒)调用 SQL 上的存储过程以确保数据库仍然存在。我想知道类似的方法是否可以让站点向“自身”发出 HTTP 请求作为保持活动状态。

我的问题是,在我这样做之前,有人能想到它不起作用的任何原因吗?例如,类似“哦不...... ASP.Net 会发现你在玩自己,而不是经历整个页面生命周期......等等”。

I'm having issues with an ASP.net site (framework 3.5, IIS6 ) having very slow 'first hit' response times. I'm guessing that the issue is to do with the app pool recycling and having to warm up.

I got to thinking. As part of the site I have a HTTP module that spins up a 'never ending loop' on a separate thread which periodically (every 5 seconds) calls an sproc on SQL to make sure the database is still there. I'm wondering if a similar approach might work to get the site to make an HTTP request to "itself" as a keep alive.

My question is, before I go and do this, can anyone think of any reason why it won't work? For example, something like "oh no... ASP.Net will figure out that you're playing with yourself and not go through the whole page lifecycle... etc etc".

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

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

发布评论

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

评论(1

晨曦慕雪 2024-10-22 04:49:02

您无法在 IIS 6 中可靠地使用预热脚本。如果应用程序池停止,则 HttpModule 将永远不会再次启动(直到有人访问该站点)。 IIS 7 通过配置修复了这个问题。

我建议在服务器上使用脚本/程序,大多数共享点安装都需要有一个。

一个简单的脚本:

http://blogs.msdn.com /b/joelo/archive/2006/08/13/697044.aspx

You can't reliably have the warmup script inside IIS 6. If the application pools stops, then the HttpModule will never start again (until someone goes to the site). IIS 7 fixes this though with configuration.

I suggest using a script/program on the server, most sharepoint installs need to have one.

A simple script:

http://blogs.msdn.com/b/joelo/archive/2006/08/13/697044.aspx

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