分享
 
 
 

asp.net 的进程模式

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

asp.net 的进程模式

使用进程模型

进程模型配置

被动进程回收

主动进程回收

记录进程模型事件

启用网络园

本节小结

--------------------------------------------------------------------------------

对 ASP.NET 框架应用程序最重要的要求之一是可靠性。在服务器进程内运行的应用程序(在 IIS 中为 Inetinfo.exe)的结构没有为生成可继续长时间运行的可靠应用程序提供坚实的基础。有太多的资源在进程级别上共享,而且一个错误便使整个服务器进程崩溃的事情也太容易发生。

为解决此问题,ASP.NET 提供了一个进程外执行模型,保护服务器进程不受用户代码的干扰。它还使您能够对进程的生存期应用直观推断法,以提高 Web 应用程序的可用性。通过使用异步进程间通讯,可以在性能、可缩放性和可靠性之间实现最佳平衡。

进程模型配置

进程模型设置在计算机的根配置文件 Machine.config 中公开。配置节命名为 <processModel>,如下例所示。默认情况下启用进程模型 (enable="true")。

<processModel

enable="true"

timeout="infinite"

idleTimeout="infinite"

shutdownTimeout="0:00:05"

requestLimit="infinite"

requestQueueLimit="5000"

memoryLimit="80"

webGarden="false"

cpuMask="0xffffffff"

userName=""

password=""

logLevel="errors"

clientConnectedCheck="0:00:05"

/>

这些设置中的大多数控制何时启动新的辅助进程为请求服务(正常取代旧的辅助进程)。进程模型支持两种类型的回收:主动和被动。

被动进程回收

当进程行为失常或无法为请求服务时,发生被动进程回收。进程一般会显示可检测到的征兆,如死锁、访问冲突、内存泄漏等,以便触发进程回收。可使用下表中描述的配置设置来控制触发重新启动进程所依据的条件。

设置 说明

requestQueueLimit 处理死锁条件。此 DWORD 值被设置为队列中允许的最大请求数,超过这个数则认为辅助进程行为失常。当超出此数值时,会启动新的进程并重新分配请求。默认值为 5000 个请求。

memoryLimit 处理内存泄漏条件。此 DWORD 值被设置为辅助进程可使用的物理内存的百分比,超过这个数则认为辅助进程行为失常。当超出此百分比时,会启动新的进程并重新分配请求。默认值为 80%。

shutdownTimeout 指定辅助进程自身正常关闭所用的时间(时:分:秒格式的字符串值)。如果超时到期,ASP.NET ISAPI 将关闭辅助进程。默认值为“00:00:05”。

主动进程回收

主动进程回收定期重新启动辅助进程,即使该进程十分正常。在这可能是防止服务由于进程模型无法检测到的条件而被拒绝的有用方法。进程可在超过特定的请求数后或超时期限已到时重新启动。

设置 说明

timeout 时:分:秒格式的字符串值,用于配置时间限制,超过此限制后将启动新的辅助进程以取代当前进程。默认值为 infinite,此关键字指示不应重新启动进程。

idleTimeout 时:分:秒格式的字符串,用于配置不活动的时间量,超过这个量后辅助进程将自动关闭。默认值为 infinite,此关键字指示不应重新启动进程。

requestLimit 设置为请求数的 DWORD 值,超过这个数后将启动新的辅助进程以取代当前进程。默认值为 infinite,此关键字指示不应重新启动进程。

记录进程模型事件

进程模型可在发生进程循环时向 Windows 事件日志写入事件。这由 <processModel> 配置节中的 logLevel 属性控制。

设置 说明

logLevel 控制向事件日志中记录进程循环事件。其值可以是:

All:记录所有进程循环事件。

None:不记录事件。

Errors:仅记录意外事件。

发生循环事件时,如果为该事件启用了记录,则向应用程序事件日志写入以下事件。

关闭原因 事件日志类型 说明

Unexpected 错误 ASP.NET 辅助进程已意外关闭。

RequestQueueLimit 错误 因为超出了请求队列限制,ASP.NET 辅助进程已重新启动。

RequestLimit 信息 因为超出了请求限制,ASP.NET 辅助进程已重新启动。

Timeout 信息 因为超时间隔已到,ASP.NET 辅助进程已重新启动。

IdleTimeout 信息 因为空闲超时间隔已到,ASP.NET 辅助进程已关闭。

MemoryLimitExceeded 错误 因为超出了进程的内存限制,ASP.NET 辅助进程已重新启动。

启用网络园

进程模型帮助启用多处理器计算机上的可缩放性,将工作分发给多个进程(每个 CPU 一个),并且每个进程都将处理器关系设置为其 CPU。这样就消除了处理器间的锁争用,是大型 SMP 系统的理想选择。此技术称为 Web 园艺。启用网络园的配置设置在下表中列出。注意,这些设置仅在服务器重新启动后才生效。为使此更改发生,IIS 必须循环。

设置 说明

webGarden 控制 CPU 关系。True 指示进程应同相应的 CPU 有关。默认值为 False。

cpuMask 控制进程的数目和网络园的工作机制。为每个 CPU 启动一个进程,其中将掩码中的相应位设置为 1。当 UseCPUAffinity 设置为 0 时,cpuMask 设置仅控制辅助进程的数目(设置为 1 的位数)。允许的最大辅助进程数是 CPU 的数目。默认情况下,启用所有的 CPU,并启动同 CPU 数目相同的辅助进程。默认值为 0xffffffff。

您应了解 Web 园艺的一些副作用:

如果应用程序使用会话状态,则它必须挑选一个进程外提供程序(NT 服务或 SQL)。

应用程序状态和应用程序静态基于每个进程,而不是基于每台计算机。

缓存基于每个进程,而不是基于每台计算机。

本节小结

ASP.NET 提供了一个进程外执行模型,使服务器进程免受用户代码的干扰。它还使您能够对进程的生存期应用直观推断法,以提高 Web 应用程序的整体可用性。

<processModel>设置在计算机的 Machine.config 文件的根配置文件中公开。默认情况下启用进程模型。

进程模型支持两种类型的回收:主动和被动。当进程行为失常或无法为请求服务时,发生被动进程回收。主动进程回收定期重新启动辅助进程,即使该进程可能十分正常。

进程模型可在发生进程循环时向 Windows 事件日志写入事件。这由 <processModel> 配置节中的 log-level 属性控制。

进程模型帮助启用多处理器计算机上的可缩放性,将工作分发给多个进程(每个 CPU 一个),并且每个进程都将处理器关系设置为其 CPU。此技术称为 Web 园艺。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有