分类分类
关注+2011-07-29作者:xy
1:进程
2:物理内存剩余
看完这两张图片,啥感觉?内存穷紧张!!!!
穷紧张不打紧,打紧的是比紧张还紧张的情况发生了,什么情况?
出事故了,应用程序池要产生回收动作了!!!!
先看一下应用程序池什么情况会产生回收动作?
1:IIS应用程序池里的“回收”里的配置就不说了,这些是你自己定义的。
2:你手动执行“回收”,以重启应用程序池。
3:你升级dll到服务器中,新升的升级会引发应用程序池重启。
4:web应用程序产生“错误”,进程终止,引发应用程序池重启。
5:临时想不出来......
出事了,出事了,出啥事了?
还不是内存穷紧张那点破事,为了演示一下什么事,我决定回收一下应用程序池给大伙截图!!!
这里本机示例回收了,大伙知道咋回事就可以了,哈哈:
看到了吧,两个进程,这是什么情况?
IIS启用了新的进程来接收新的请求,同时旧的进程请求会保留继续处理之前的请求队列,直到处理完所有之前的请求才结束。
大体就是这么一回事了,问题就产生在这一瞬间:
本来就没内存了,旧的进程不回收,新的进程又出来,一出来就喊着要内存,可是系统又给不了内存,于是就卡在那里,还造成CPU百分百的情况。
就在这个小间间,网站访问就卡住了,打不开了,给人一种速度超慢的感觉。
什么时候你感觉打开了,估计就是旧的进程光荣退休了。
好了,升级时候的情况并不多,应用程序池也设置了半夜才回收一次,理论上回收也不多,这种小瞬间产生的机率并不多。
可是网站不稳定的情况才出现的挺频繁,似乎超出我设置的时候和升级的频率。
就在这些天,我发现我基础有点差:
web应用程序产生“错误”,进程终止,引发应用程序池重启。
以前都没怎么注意,现在发现了,代码写的不好,异常不处理好,应用程序池就会经常性重启,也是引发你网站慢的一个原因。
给大伙截一张图:
大伙到自己服务器上看这事件,如果看到一堆错误及警告,说明你和我一样基础差。
相关文章
更多+相同厂商
热门推荐
点击查看更多
点击查看更多
点击查看更多
说两句网友评论