.NET开发过程中易被忽视的问题(4)

http://www.itjxue.com  2015-07-17 01:59  来源:未知  点击次数: 

四、实际操作分享篇

    上面三个环节,任何一个发生问题,都会影响到系统的效率。我分享我们实际的作业的过程发生的一些情况,及怎么解决这些问题。

    4.1 内存使用达到峰值,导致程序无法继续运行。
    
    有个同事分享了他们的经验如下(原话分享):
 

 


    下面也是原话
 
    大致意思是:在服务器端(也叫后台)自动跑的一只程式,运行了两三天后,停止运行了。检查Server的内存使用率时,发现超过了2.5G;在关掉了这只程式后,它就降到了1.5G…下面的图片为证:

    4.2 进程请求过多,导致CPU无法及时处理,程序效率反应较慢。

    下面都是同事的原话:






    这里有一些问答关于应用连接池(Application Pool)的设定,对理解这样的设置有一定的帮助:

    1. Is one application pool’s maximum memory usage 1.5G?
A&: Each application pool is a w3wp.exe. w3wp.exe is a process. Every process has 2 G User mode virtual address, so the maximum memory usage for application pool is 2G. However, you can’t make sure that there is no memory fragment issue. Therefore, Out of memory always occur after 1.5 G according to our experience.

    2. Is each application pool independent on memory usage?
A&: Different application pools are different w3wp.exe, so each application pool’s maximum memory usage is 2G.

    3. Can setup maximum CPU usage on each application pool?
A&: You can monitor it, but you can’t setup it.

    写完这篇文章的时候,我们另一项目组的开发者,也遇到了同样的问题,他们开发好的一只程式,用户反映很慢。我跑过去一看代码,完了,所有我描述的问题,他们都无一避免地出现啦,那就赶紧告诉他们,还等什么?

(责任编辑:IT教学网)

更多

推荐ASP.NET教程文章