设为首页 收藏本站
查看: 1322|回复: 0

[经验分享] IIS 5.0 隔离模式ASP.NET 配置

[复制链接]

尚未签到

发表于 2015-8-15 13:52:33 | 显示全部楼层 |阅读模式
IIS 5.0 隔离模式ASP.NET 配置

传统的ASP程序进程是在IIS的进程空间中运行的。
ASP.NET自己的进程:aspnet_wp.exe。
ASP.NET 进程模型设置主要通过Machine.Config来配置,作用于整个服务器,是全局的。
可以指示ASP.NET在响应了一段时间、请求或内存使用率到一定程度后重新该进程。
也可以指示ASP.NET根据主板的CPU数来创建多个进程实例。这个进程是独立于IIS的。

Machine.Config文件:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\Machine.Config
Asp.net2.0的默认配置如下,(虽然没有显示配置)

DSC0000.gif DSC0001.gif Code
1 DSC0002.gif <processModel
2   enable="true|false"
3   timeout="hrs:mins:secs|Infinite"
4   idleTimeout="hrs:mins:secs|Infinite"
5   shutdownTimeout="hrs:mins:secs|Infinite"
6   requestLimit="num|Infinite"
7   requestQueueLimit="num|Infinite"
8   restartQueueLimit="num|Infinite"
9   memoryLimit="percent"
10   webGarden="true|false"
11   cpuMask="num"
12   userName="username"
13   password="password"
14   logLevel="All|None|Errors"
15   clientConnectedCheck="hrs:mins:secs|Infinite"
16   comAuthenticationLevel="Default|None|Connect|Call|
17               Pkt|PktIntegrity|PktPrivacy"
18   comImpersonationLevel="Default|Anonymous|Identify|
19               Impersonate|Delegate"
20   responseDeadlockInterval="hrs:mins:secs|Infinite"
21   responseRestartDeadlockInterval="hrs:mins:secs|Infinite"
22   autoConfig="true|false"
23   maxWorkerThreads="num"
24   maxIoThreads="num"
25   minWorkerThreads="num"
26   minIoThreads="num"
27   serverErrorMessageFile=""
28   pingFrequency="Infinite"
29   pingTimeout="Infinite"
30   maxAppDomains="2000"
31/>
32参照MSDN:
http://msdn.microsoft.com/zh-cn/library/7w2sway1(VS.80).aspx

重点说明以下几点属性配置:
  1、启用ASP.NET独立进程

Code
1 DSC0003.gif   
2 <processModel  
3     enable="true"  
4   enable设置指示ASP.NET应该启用它的独立进程而不是运行在IIS进程中。
该项缺省的值是true(启用独立进程)。如果为false(在IIS进程中运行),后续的设置将会被忽略。
  2、自动重启ASP.NET进程
有5种方法可以重启ASP.NET进程

  ①timeout

Code
1   
2<processModel  
3    timeout="168:00:00"  
4    通过timeout设置项,在运行了指定的时间后重新创建一个新的进程实例。
在上面的设置中在运行了168小时后(1周)会重新创建一个进程以取代现有的进程。
不过需要注意的是,计时是当接收到第一个请求时,因为ASP.NET的进程是在处理第一个请求时创建的。
这个设置非常有用,如果程序中有轻微的内存泄漏而需要周期性的重置IIS。

②requestLimit

  
<processModel  
     requestLimit="10000"  

  通过requestLimit设置项,在处理了指定数量的请求后,创建一个新的进程。这个对Web服务器的性能是由于处理了过多的请求后降低非常有帮助。

③memoryLimit

Code
1   
2 <processModel  
3     memoryLimit="50"  
4   通过memoryLimit设置项,比如50,这意味着当进程使用的内存占到系统总的内存的50%时,进程会被取消,
而一个新的进程会创建出来,所有现有的请求会由这个新的进程进行处理。这个对内存泄漏非常有帮助。

④responseDeadlockInterval

Code
1   
2 <processModel  
3    responseDeadlockInterval="00:03:00"  
4    通过responseDeadlockInterval设置项,比如3分钟,当有新的请求但没有任何响应超过3分钟时,重新启动进程。

⑤pingFrequency和pingTimeout

Code
1   
2 <processModel  
3     pingFrequency="00:00:30"  
4     pingTimeout="00:00:05"  
5   通过pingFrequency和pingTimeout设置项,系统会在pingFrequency指定的周期内探询ASP.NET进程,如果在pingTimeout时间内没有响应,重启该进程。
  3、停止ASP.NET进程
有两个方法可以自动停止进程
  ①idleTimeout

Code
1   
2 <processModel  
3    idleTimeout="00:30:00"  
4   通过idleTimeout设置项,如果在指定的时间内没有任何请求,进程会自动退出。在一个新的请求到来后,再重新启动进程。
  ②shutDownTimeout

Code
1   
2 <processModel  
3     shutDownTimeout="00:00:05"  
4   通过shutDownTimeout设置项,当ASP.NET进程需要退出但是失败后,系统会在等待指定的时间后强行终止该进程。
  4、用户连接状态检查

Code
1   
2 <processModel  
3     clientConnectedCheck="00:00:05"  
4   在Web服务器响应比较慢时,用户可能会重复点击同一个URL。这样会增加服务器负担。甚至用户可能会取消请求,
但是服务器可能还在处理该用户的请求队列。为此,我们可以指示服务器检查用户的连接状态,如果用户已经不在线,
清除该用户所有的请求。在上面的设置中,服务器每5秒会检查每个在队列中的请求,如果用户已经离线,服务器会清除该请求。
  结论:
①、IIS 5.0 隔离模式下,ASP.NET工作在一个独立的进程中。我们可以通过machine.config配置文件来使得该进程更加稳定和高效。
②、 IIS 6 进程模型(辅助进程隔离模式)下,除以下属性适用外,将忽略 processModel 节中的其他属性设置。

  •   autoConfig
  •   maxIoThreads
  •   maxWorkerThreads
  •   minIoThreads
  •   minWorkerThreads
  •   requestQueueLimit
  •   responseDeadlockInterval
  若要在 IIS 6.0 中配置进程标识、循环或其他进程模型值,请使用 Internet 服务管理器用户界面来配置应用程序的 IIS 辅助进程。

  详细参照
IIS 6.0 辅助进程隔离模式的应用程序池设置

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-99436-1-1.html 上篇帖子: IIS时间格式设置问题【转】 下篇帖子: 网站IIS日志解读
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表