`
guochunyang2004
  • 浏览: 80258 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

通过系统配置来提高ASP.NET应用程序的稳定性

 
阅读更多

来源:http://www.webshu.net/jiaocheng/programme/ASPNET/200606/1920.html

大家都知道,要实现一个24*7全天候运行的应用程序并不是一件容易的事。我的一个项目就曾经在暴力负荷下坚持了20多个小时后还是壮烈挂掉了。幸运的是,ASP.NET和IIS为我们提供了一些简便的设施,使我们能够轻松构建超级稳定的.Net应用程序。不过稍嫌不爽的是,Windows 2000(IIS6.0 以下版本) 和 Windows 2003(IIS6.0)系统下的配置方法不尽相同。

先说说windows 2000系统,熟悉ASP.NET的兄台应当都知道 machine.config 这个文件吧,它保存在 %WindowPath%/Microsoft.Net/Framework/%.NetVersion%/CONFIG/ 目录下。随便用什么文本编辑器(当然最土的就属 “记事本” 了)打开该文件,找到 <processModel ...> 这一节。ASP.NET就是根据这一节的设置,来控制ASP.NET服务进程(aspnet_wp.exe 或 w3wp.ext )的。我们的写的ASP.NET 应用程序代码就运行在这个进程空间内。如果你使用的是Framework 1.1 你会在这一节中看到n多个属性,我们关心的是下面三个,等号后面是它们的缺省值: timeout="Infinite"

idleTimeout="Infinite"

memoryLimit="60"

在 Framework 2.0 下你看不到它们,但你可以手工把它们添加进去。

我来翻译一下这三个属性的意思,在持续运行了 timeout 指定的时间后,重启 ASP.NET服务进程,timeout 的缺省值为无穷大,你可以按“HH:MM:SS”的格式重新设置,如,timeout=24:00:00表示24小时后重启; 如果在 idleTimeout 指定的时间内没人的访问,则重启 ASP.NET服务进程,idleTimeout 的缺省值同样为无穷大,设置方式如上;如果ASP.NET服务进程 使用的内存占系统总内存的百分比超过了 memoryLimit 指定的数量,则重启 ASP.NET服务进程。

明白了吧,通过这三个属性的配合,就可以神不知,鬼不觉的重启服务进程,从而使咱的应用程序生生不息的运行下去。我这样说,细心的读者可能已经发现问题了,当服务进程重启时,客户端的会话(Session)必然会丢失,用户的操作也就被中断了。怎么能做到“神不知,鬼不觉”呢? 这个问题确实存在,不过可以通过如下措施将其影响减至最小,甚至完全消除:

首先,我们可以把 idleTimeout 设为一个合理的值,通常我会将其置为会话(Session)超时设置的1.5-3倍。将timeout 置为程序能坚持的上限值,我通常将其置为24小时。这样将迫使服务进程在空闲时重启,由于这时不存在任何会话(Session),所以也就不可能中断用户的操作。这种设置在中小企业办公环境中非常有效,因为下班后基本没有人访问。

当然,上面的方法局限性很大,只能在特定场合起作用。如果在持续有人访问,或者内存超限的情况下重启,用户的操作仍然会受到干扰。一个终极的解决办法就是,将会话(Session)状态保存在独立的进程中。在ASP.Net上,这也可以通过简单的配置实现。

分享到:
评论

相关推荐

    asp.net应用程序性能优化

    通过上述方法,我们可以充分利用Visual Studio 2005提供的功能,实现ASP.NET应用程序的性能优化,提供更快、更稳定的服务。同时,不断学习和掌握新的技术和最佳实践,将是保持应用竞争力的关键。

    提高ASP.Net性能

    本文将深入探讨如何通过十大方法来提高ASP.Net应用程序的性能,旨在为开发者提供实用的指导。 #### 1. 优化数据库查询与连接管理 数据库查询效率直接影响应用程序的整体性能。使用参数化查询可以避免SQL注入攻击,...

    asp.net开源程序

    总之,ASP.NET开源程序结合VB.NET语言,可以构建出高效、稳定的Web应用程序。尽管VB.NET在ASP.NET开源项目中不那么常见,但这个例子证明了其在Web开发中的可行性。通过理解`App_Code`、`App_Data`目录的用途以及`bbs...

    asp.net版小程序微信支付接口文件

    首先,`web.config`文件是ASP.NET应用程序的核心配置文件,它包含了诸如数据库连接字符串、应用程序设置、身份验证和授权规则等关键信息。在微信支付的场景下,`web.config`文件中会包含微信支付平台的商户ID、API...

    Linux下采用MonoJexus部署ASP.NET-MVC、WCF、WebAPI、C应用程序.docx

    Jexus 是一个基于 Mono 环境的 ASP.NET Web 服务器,能够提供高性能、安全性和稳定性的 Web 应用程序部署解决方案。 Mono 部署 ASP.NET-MVC 应用程序 通过配置 Mono 环境,可以部署 ASP.NET-MVC 应用程序。Mono ...

    Asp.Net程序设计教程与实训(C#语言版)

    在Windows操作系统下安装配置.NET框架是进行ASP.NET开发的基础,这一步骤确保了开发环境的兼容性和稳定性。 ### Visual Studio.NET开发工具 Visual Studio.NET是微软提供的集成开发环境(IDE),它集成了代码编辑...

    Asp.net考勤系统源码

    ASP.NET考勤系统源码是一个基于微软的ASP.NET技术构建的Web应用程序,它主要用于实现企业的员工考勤管理功能。此系统通常包含用户登录、打卡记录、请假申请、考勤统计等多个模块,旨在提高人力资源部门的工作效率,...

    如何在IIS6.0里面显示ASP.NET v2.0.50727

    优化应用池的设置,比如调整工作进程的回收策略,可以提高ASP.NET应用程序的响应速度和稳定性。 综上所述,要在IIS6.0中成功运行ASP.NET v2.0.50727应用程序,不仅需要正确注册ASP.NET,还需合理配置应用池、MIME...

    Winserver2003配置asp.net网站

    ### Winserver2003配置ASP.NET网站 #### 一、概述 本文档旨在提供一个简明的操作指南...尽管这些步骤对于初学者来说已经足够,但在生产环境中部署应用程序时,还需综合考虑更多的因素,以确保系统的稳定性和安全性。

    asp.net 实例源码

    ASP.NET 是微软公司开发的一种用于构建Web应用程序的框架,它基于.NET Framework,为开发者提供了丰富的功能和工具,简化了Web应用的开发过程。这个实例源码可能是为了展示如何使用ASP.NET来开发一个在线考试系统,...

    ASP.NET Web程序设计电子教案

    - Web.config文件:配置ASP.NET应用程序的设置,如连接字符串、身份验证、授权规则等。 - 配置节:如system.web、appSettings、connectionStrings等,以及如何修改和读取这些配置。 6. **第六章 数据库访问技术**...

    Asp.net会员管理系统

    这可以通过Asp.net的角色和权限管理实现,通过后台配置,动态调整会员权益。 5. 会员搜索与操作:Asp.net的查询语句和Linq可以方便地实现会员的检索,同时,通过Ajax技术,实现页面无刷新的添加、删除和修改操作,...

    UCenter与Asp.net应用同步通信Demo

    【标题】"UCenter与Asp.net应用同步通信Demo"主要展示了如何在Asp.net应用程序中集成UCenter,实现用户数据的同步交互。UCenter是一个由Comsenz公司开发的社区用户中心系统,它能够集中管理多个基于相同或不同平台...

    ASP.NET应用教程

    了解如何配置IIS和发布应用程序是ASP.NET开发中的重要环节。 九、调试与性能优化 学习如何使用Visual Studio进行调试,以及如何通过各种手段优化ASP.NET应用的性能,如缓存管理、数据库查询优化等,是提高开发效率...

    《ASP.Net 2.0 + SQL Server 网络应用系统开发案例精解》

    《ASP.Net 2.0 + SQL Server 网络应用系统开发案例精解》这本书深入浅出地介绍了如何使用ASP.NET 2.0框架结合SQL Server数据库进行网络应用系统的开发。ASP.NET是微软公司推出的一种强大的Web应用程序开发平台,它...

    基于ASP.NET的在线考试答题系统源码.zip

    【标题解析】 ...通过深入研究和分析这个基于ASP.NET的在线考试答题系统源码,开发者不仅能学习到Web应用程序开发的基本技能,还能了解到如何构建一个完整的线上考试平台,提升自己的实际项目经验。

    Web应用程序开发教程——ASP.NET+SQL Server(源码)

    《Web应用程序开发教程——ASP.NET+SQL Server》是由岳学军和李晓黎主编的一本专业教程,由人民邮电...通过学习这本教程,开发者可以掌握ASP.NET与SQL Server的结合应用,从而开发出高效、稳定且安全的Web应用程序。

    基于ASP.net的大型OA办公系统源码.zip

    在ASP.NET平台上构建的大型OA系统,能够充分利用.NET Framework的多层架构、数据访问技术、缓存机制以及安全性特性,确保系统的稳定性和可扩展性。 【.NET Framework】 .NET Framework是微软开发的一个软件框架,...

    ASP.NET 申报系统

    最后,ASP.NET应用部署通常涉及IIS(Internet Information Services)配置,开发者需要考虑部署策略,如负载均衡、缓存策略、数据库连接池等,以提高系统性能和可用性。 总结,"ASP.NET 申报系统"是一个涵盖了多种...

Global site tag (gtag.js) - Google Analytics