IIS7 应用程序池的闲置超时 与 .net application 有没有关系

IIS7 应用程序池的闲置超时 与 .net application 有没有关系,第1张

微软的应用程序池,如果长时间闲置的话,会进行回收,以节省服务器资源。默认闲置时间是20分钟,只要把这个时间调大一点就好了。

我也是租的空间,西部数码的,跟他们沟通了几次,也不是不可以改。他们帮我调成了1440,对我来说够用了。

IIS7.5+.net4.0针顷歼尺对这个问题还有一个解决方案,雀高就是使用startmode="alwaysrunning"这种方式,从IIS启动之后就开始了这个Application,无论是否有人访问,一直运行。可惜如果要去租主机的话,找到IIS7.5的可能性微乎其微,过几年吧。

如果前面说的都不行,那就只能有最后一个办法。那就是保持有一台机器开着,在这个Application下写一个文件,用JavaScript每隔几分钟就自我刷新一下,浏览器一直开着,这样就强制让它处于被改含访问的状态。但这个方法并不稳定,改配置时间才是王道。

1、首先,可以在webconfig中全局配置http请求超时(单位为秒,默认为90秒),如下图所示,然后进入下一步。

   

2、其次,执行完上面的 *** 作之后,直接转到IIS进行设置:IIS-Website-Restrictions,如下图所示,然后进入下一步。

   

3、接着,执行完上面的 *** 作之后,设置一个较大中如裂的值并分析具体情况,如下图橡袜所示,然后进入下一步。

   

4、然后,执行完上面的 *** 作之后,数据库连接超时和数据库配置卖闭文件my.ini,以及数据库参数查询方法,如下图所示,然后进入下一步。

   

5、最后,执行完上面的 *** 作之后,应用程序池回收(底部)非常低。将其设置为适当以完成,如下图所示。这样,上面的问题就得到解决了。

IIS一般默认 应用程序池有设置固定时间间隔(分钟) 默认1740,以及闲置超时(分钟) 默认20;如果我们 asp.net core+quartz.net 部署在IIS上执行长期定时任务时,需要将上来两项内容设置成0,(不回收);不然我们的定时任务会在IIS做回收时清理掉我们的定时任务。导致任务停止;如果可以做定期检测也是一种方式,本人比较偷懒,罩纤就不做回收。但是否会造成其他问题,需要观察iis程序池默认回收时间为1740分钟(29小时),若要自定义为不回收, *** 作如下,这样IIS除非手动回收,否则不会自动回收

1 在IIS中找到这个站点所用的程序池,点击“高级设置…”

2 回收——固定时间间隔(分钟) 改为 0

3 回收——虚拟/专用内存限制(KB) 改为 0

4 进程模型——闲稿李置超时(分钟) 改物敬仿为 0 那一定是IIS的应用程序池回收的机制在作怪了。因为IIS的默认设置里面,如果一个站点所处的应用程序池超过一段时间没有被访问或者请求,IIS就会自动回收这个程序池,并且把进程杀掉。那进程里面的线程肯定也活不下来了。

但是我们可以通过设置应用程序池参数使其不会被简单的自动回收(有些情况无法避免,比如热部署的站点,错误数量超限等等)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12388254.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存