服务器我们是Window2003 SP2 数据库是MSSQL2005 ,.net 2.0框架。
情况是这样的,我们是用动网的代码生成器做的数据层。项目开发进入测试阶段后,我们发现系统在被3个以上用户使用后,系统进程中W3wp.exe开始疯涨,一度涨到100% ,同时内存也跟着涨。
这个项目我们做了对立的应用程序进程池,稍微缓解了一下,但是我们认为是程序问题,但是始终测试不出来。程序于数据库连接正常。每次使用大改10分钟左右,就会死掉。程序提示找不到表字段。
重新启动IIS后,一切正常。
非常奇怪,折磨了我们一个星期的时间了,希望高手指点一二。
16 个解决方案
#1
程序提示找不到表字段?
是不是内存完了以后这个提示就出来了?
是不是内存完了以后这个提示就出来了?
#2
要是程序的问题,肯定能测试出来…… 可能测试方法不太合适
如果3个以上用户连接,IIS都疯狂吃内存的话,程序的优化程度还需要在努力一点了……
#3
这个比较难猜了.可能出现死锁了.也可能是数据的问题导致了递归或者死循环..在出现这个问题的时候尝试着把SQL语句抓出来看看.
#4
涨了以后就出来这号问题了。
#5
数据操作层都有基类,尝试在基类中添加 “写SQL操作日志的文件” 每次读写数据库都写一次文件日志,并且记录操作时间和SQL语句,抓10个用户的操作看看,估计能有点收获
#6
3个用户以上,他也不是,一定上了第三个就涨,他是过了一段时间就涨。
3楼 的方法我试试先。
3楼 的方法我试试先。
#7
内存和CPU他不是有规律的涨,他是一下就涨起来了,我都措手不及。
#8
估计是没dispose close 等释放操作
#9
MSSQL2005,开发版?
#10
不知道你的异常是怎么处理的,也有可能是出现异常的时候循环调用了.
#11
用到ado.net中的东西,看看有没有没关的
#12
你需要看看是不是什么特定的操作导致这样的;
如果仅仅测试的话,不会时间上有规律的;
如果仅仅测试的话,不会时间上有规律的;
#13
规律好难找,我现在用排除发,一个模块一个模块的排除。
这个是错误页面。÷÷
这个是错误页面。÷÷
#14
数据库被搞定啦?
#15
数据库被锁啊。我里面有一些事务,有这个可能。检查看看先。
#16
估计是数据库连接没有及时关闭,以及事务没有提交等问题,这个还要看具体到底打开哪个页面,点击哪个按钮导致上述问题。还有可能是缓存用的太多,届时Session也会丢失。
#1
程序提示找不到表字段?
是不是内存完了以后这个提示就出来了?
是不是内存完了以后这个提示就出来了?
#2
要是程序的问题,肯定能测试出来…… 可能测试方法不太合适
如果3个以上用户连接,IIS都疯狂吃内存的话,程序的优化程度还需要在努力一点了……
#3
这个比较难猜了.可能出现死锁了.也可能是数据的问题导致了递归或者死循环..在出现这个问题的时候尝试着把SQL语句抓出来看看.
#4
涨了以后就出来这号问题了。
#5
数据操作层都有基类,尝试在基类中添加 “写SQL操作日志的文件” 每次读写数据库都写一次文件日志,并且记录操作时间和SQL语句,抓10个用户的操作看看,估计能有点收获
#6
3个用户以上,他也不是,一定上了第三个就涨,他是过了一段时间就涨。
3楼 的方法我试试先。
3楼 的方法我试试先。
#7
内存和CPU他不是有规律的涨,他是一下就涨起来了,我都措手不及。
#8
估计是没dispose close 等释放操作
#9
MSSQL2005,开发版?
#10
不知道你的异常是怎么处理的,也有可能是出现异常的时候循环调用了.
#11
用到ado.net中的东西,看看有没有没关的
#12
你需要看看是不是什么特定的操作导致这样的;
如果仅仅测试的话,不会时间上有规律的;
如果仅仅测试的话,不会时间上有规律的;
#13
规律好难找,我现在用排除发,一个模块一个模块的排除。
这个是错误页面。÷÷
这个是错误页面。÷÷
#14
数据库被搞定啦?
#15
数据库被锁啊。我里面有一些事务,有这个可能。检查看看先。
#16
估计是数据库连接没有及时关闭,以及事务没有提交等问题,这个还要看具体到底打开哪个页面,点击哪个按钮导致上述问题。还有可能是缓存用的太多,届时Session也会丢失。