日期:2014-05-18  浏览次数:20462 次

急!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
最近做了一个本单位网上考核的网站,卷子生成之后,用户每答一题都用AJAX发消息的方式把该题结果存入服务器上的缓存(用的微软企业库的CACHE),用户点保存时把缓存入库并清除缓存内容。实际使用时内存和CPU占用都不大,但是一个服务器(win2003+IIS+oracle92)同时最多承载二三百用户就不行了,会出现莫名其妙的故障,需要重启IIS服务才会正常。对数据库的存取次数是非常小的,数据容量也不大,您觉得瓶颈有可能在哪里呢?还是IIS或.net根本就只能承受这么多的并发用户?
另:在考试时,我程序里都是在代码页用DateTime.Now()的方式取得当前时间和考试结束时间,然后生成倒计时span写到页面上用于倒计时,可是在实际使用中经常会发现程序会受客户端计算机时间的影响。我程序里从来就没有在cs文件以外的部分取过时间啊,怎么会受客户端影响呢?

------解决方案--------------------
1观察故障的错误信息,并记录日志,分析
2代码问题可能性比较大,具体代码具体分析
------解决方案--------------------
你的代码有问题
你用了缓存,而且你缓存的数据很大。

估计你的系统是用Linq to sql 或EF做的
做这个的时候缓存没控制好。就会出现
曾经我看见有人用过这个的,情况和你的差不多
------解决方案--------------------
1.如果你控制不好缓存的话,关闭缓存(就是禁用对象跟踪,但是这样的话你不能提交数据了哦)
2.加载数据完成清空下缓存。

反正我是控制不好缓存的,我把linqtosql的缓存关闭了,曾,删,该。被我重写了。