asp.net performance

本文介绍如何通过调整系统配置提升ASP.NET应用程序的稳定性,包括设置进程重启条件以避免长时间运行导致的问题,并讨论了会话状态管理和不同Windows系统的配置差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

     大家都知道,要实现一个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应用程序的稳定性" 一文讲到了Windows 2000 下( 本质上是在IIS5.0下 ,XP professional 也和2000一样 )的配置方法, 今天我们来看看 Windows 2003 (IIS6.0) 下的配置方法。
  
   IIS6.0默认的运行模式是进程隔离模式,它通过应用程序池来支持多个ASP.NET服务进程并行运行,前文讲到的machine.config 文件中 <processModel ...> 这一节的大部分设置在这种运行模式下都会被忽略掉,我们前文提到的那三个属性也在其中。不过不用担心,IIS6.0下的配置更加简单直观。 具体步骤如下:
  
  
   2,在"进程池"文件夹中找到你的ASP.NET应用程序所在的服务进程,右击并选择“属性”项,见下面二图,其它就不用我多废话了吧。
  
  
  
   除此之外,还有一种办法可以让 IIS6.0 和 IIS5.0 一样,使用machine.config 文件中 <processModel ...> 这一节的设置来控制ASP.NET服务进程。(详见上篇文章)
  
   同样打开"IIS管理器",右击"网站"文件夹,选取"属性"项,如下图,勾选 "以IIS5.0隔离模式运行Web服务":
  
  
   这样,IIS6.0和IIS5.0的行为就完全一样了,连ASP.NET服务进程的名称都从"W3WP.exe"变成"ASPNET_WP.exe"了。不过,这种做法完全属于开历史的倒车,如果没有什么不可告人的目的,坚决不予推荐。 
  

转载于:https://www.cnblogs.com/hq2008/archive/2007/12/24/1012466.html

内容概要:本文详细探讨了基于MATLAB/SIMULINK的多载波无线通信系统仿真及性能分析,重点研究了以OFDM为代表的多载波技术。文章首先介绍了OFDM的基本原理和系统组成,随后通过仿真平台分析了不同调制方式的抗干扰性能、信道估计算法对系统性能的影响以及同步技术的实现与分析。文中提供了详细的MATLAB代码实现,涵盖OFDM系统的基本仿真、信道估计算法比较、同步算法实现和不同调制方式的性能比较。此外,还讨论了信道特征、OFDM关键技术、信道估计、同步技术和系统级仿真架构,并提出了未来的改进方向,如深度学习增强、混合波形设计和硬件加速方案。; 适合人群:具备无线通信基础知识,尤其是对OFDM技术有一定了解的研究人员和技术人员;从事无线通信系统设计与开发的工程师;高校通信工程专业的高年级本科生和研究生。; 使用场景及目标:①理解OFDM系统的工作原理及其在多径信道环境下的性能表现;②掌握MATLAB/SIMULINK在无线通信系统仿真中的应用;③评估不同调制方式、信道估计算法和同步算法的优劣;④为实际OFDM系统的设计和优化提供理论依据和技术支持。; 其他说明:本文不仅提供了详细的理论分析,还附带了大量的MATLAB代码示例,便于读者动手实践。建议读者在学习过程中结合代码进行调试和实验,以加深对OFDM技术的理解。此外,文中还涉及了一些最新的研究方向和技术趋势,如AI增强和毫米波通信,为读者提供了更广阔的视野。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值