类型:转载 责任编辑:asp 日期:2007/03/01
cpu:intel 至强2.4g
内存:1g ddr
操作系统:windows server 2003
数据库:sql server2000
这台电脑上面运行一个asp.net的论坛,一般在线人数为几百人。但是经常出现连接池的数目已经达到最大数目的问题,且经常死机。
以前该台服务器只做为数据库服务器,运行十分正常。
注:查看cpu的使用率,aspnet_wp和sql server占的都是很小的一部分,还有大量的内存空闲未使用。在论坛代码里面,一般都是显式关闭了数据库连接的。
请问大家,这究竟是怎么回事?不会是asp.net本身的问题吧?有什么办法调整一下程序,让它大幅度提高性能,我想,虽然有几百个人同时在线,即使页面经常刷新,这样的机器也应该承受得了吧?会不会是有什么东西占用了内存没有即使得到释放呢?但.net好像有垃圾回收机制。
我实在受不了隔一天就重启服务器得折磨,请大家帮帮我吧!
推荐阅读
你修改一下连接池的数目上限,看看可以不可以?
好像是asp.net的自身毛病
是sql的授权吗??
如果是我们没办法。
只是pooling的话把 max设成大一点。。
使用dataset.....
ms说dataset的好处n条之一是不用买那么多的sql授权。。哈哈哈哈。。
关注。
因为aspnet_wp所使用的内存会越来越多,我现在的做法是自己写一个程序,让服务器每天自动重启一次。
关注,我也碰到这种问题,我以为是给攻击了
.net问题比较多的啊!
look!
经常死机可以考虑是否是数据库锁死
经常出现连接池的数目已经达到最大数目的问题
------------------------------》是你用了很多connection ,同时又有很多用户用。,用dataset可以解决。 还有你的连接池设置大点, 好象最大可以到32,767
很多垃圾没有及时回收,只好重起iis服务
对于asp.net占用内存是多,不过也不是无休止的,应该是没有释放一些东西。
即时清空 dataset里面的内容!
会不会是番版windows server 2003的问题?
买个正版的来试试看效果如何:)
是不是连接打开后,返回数据后没有立即关闭该链接。
zzhuz(大件) 呵呵真幽默
用dataset1=nothing可以清空
程序中的对象可以在你认为无用的时候在代码中自己释放的啊
这个问题涉及到的方面很多哦,不是一个方面决定的,不过我看程序编写上有点问题才是关键,另外达到一定访问量或者一段时间以后重启iis是必要的。
.