转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
asp.net 的进程模式         ★★★★

asp.net 的进程模式

作者:闵涛 文章来源:闵涛的学习笔记 点击数:646 更新时间:2009/4/23 10:41:16

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 园艺。


[C语言系列]NET 中C#的switch语句的语法  [系统软件]托拽Explore中的文件到VB.net的窗口
[系统软件]Boost库在XP+Visual C++.net中的安装  [常用软件]新配色面板:Paint.Net3.0RC1官方下载
[常用软件]用内建的“Net Meeting”聊天  [VB.NET程序]Henry的VB.NET之旅(三)—共享成员
[VB.NET程序]Henry的VB.NET之旅(二)—构造与析构  [VB.NET程序]Henry的VB.NET之旅(一)—失踪的窗体
[VB.NET程序]在托盘上显示Balloon Tooltip(VB.NET)  [VB.NET程序]Henry手记-VB.NET中动态加载Treeview节点(二)
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台