asp.net-mvc – 应用程序池回收导致非常长的响应时间
发布时间:2020-12-16 03:26:50 所属栏目:asp.Net 来源:网络整理
导读:我已经读过某个地方,当启用重叠时,应用程序池回收不应该对最终用户非常明显,但在我的情况下,响应时间至少比通常长10倍(取决于负载,来自常规的响应时间) 100毫秒长到5000毫秒).这也不是针对单个请求,而是在池回收之后的几个请求(我在测试时使用了~10个并发连
我已经读过某个地方,当启用重叠时,应用程序池回收不应该对最终用户非常明显,但在我的情况下,响应时间至少比通常长10倍(取决于负载,来自常规的响应时间) 100毫秒长到5000毫秒).这也不是针对单个请求,而是在池回收之后的几个请求(我在测试时使用了~10个并发连接).
所以问题是: >在我看来,我不做任何事情,这需要很长时间才能启动应用程序 – 一般来说,那只是IoC容器和路由初始化,甚至我也会做一些事情 – 这就是重叠应该注意或不? 解决方法
>重叠仅意味着旧工作进程将在新工作进程启动时继续运行.一旦新的启动,它就开始处理所有请求. “已启动”并不意味着初始化(可能包含在Application_Start中,应用程序中的任何静态构造函数,或任何一次,代理构建等有争议的任务)都已完成.这意味着新请求必须在这些进程完成时等待,即使“旧”工作进程可能仍然可以在短时间内使用.此外,如果您的应用程序使用任何类型的缓存,您的新缓存将是“冷”,这意味着在缓存预热之前需要一些额外的处理时间. >是 – 您的新应用程序将具有新的SQL连接池. >根据我的经验,在生产环境中,经过严格测试的代码和需要一致,高性能的应用程序,我选择完全禁用应用程序池回收.应用程序池回收是一种“功能”,用于抵制IIS不稳定的感觉,实际上通常真正不稳定的是它托管的应用程序.在我看来,这是一个允许人们部署不到稳定代码的拐杖.如果它导致您出现问题,请将其关闭,并确保您的应用程序没有任何内存泄漏等,这可能会导致长期应用程序不稳定.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 两个ASP.NET站点共享应用程序文件但具有不同的web.config
- asp.net – 实现实时UI更新的最佳方式,如SO的“新答案”通知
- asp.net-mvc – 在ASP.NET MVC6中访问querystring
- asp.net-mvc – ASP.NET MVC Gotcha?失意
- asp.net-web-api – 无法加载文件或程序集’System.Web.Htt
- updatepanel – 更新面板不显示ASP.NET 3.5中的错误
- asp.net – 默认情况下提供静态文件index.html
- asp.net-mvc – web.config中的表单身份验证
- asp.net-mvc – 使用ASPX View Engine与MVC 5
- Odata V4中的流支持
推荐文章
站长推荐
- asp.net-mvc-3 – 将PartialView Html转换为ITex
- asp.net – 无法识别的配置部分log4net. web.con
- asp.net-mvc – 如何将值传递给MVC3母版页(_layo
- asp.net-mvc – MVC3默认路由到区域不搜索区域内
- 将数据从ASP.net返回到ExtJS网格
- asp.net – 如何在.net中读取Elastic Beanstalk环
- asp.net-mvc-3 – 为什么Ninject不会解析基类中的
- asp.net – 如何在x64中使用WebDev.WebServer.ex
- asp.net – 抽象通用ODataController类导致“没有
- 需要用户登录的UnitTest ASP.NET应用程序
热点阅读