Asp.Net部署运行一段时间就变慢,重启IIS也无法解决,必需重启操作系统

topson_fj 2009-08-03 06:02:05
目前一个项目是使用.Net Framework 3.5 + NHibernate开发的,后台数据是使用Oracle 9i,目前系统运行一段时间之后,发现系统速度越来越慢,起先以为是服务器负载问题,后面发现在线人数在700多人的时候系统没有问题,网页打开时间低于2秒,但是人数只有100多的时候网页打开时间却超过30秒。前期用户执行的功能基本都是一样,排查后发现网页打开速度很慢的时候,Oracle的连接数一直持续上升,而且连接80%以上都是Active状态,这时候查询Oracle是否存在死锁的时候,会发现是SELECT语句,但是该SELECT语句并没有执行相应的UPDATE操作。对于连接数持续上升可以肯定不是系统中没有关闭连接对象所造成。造成该现象表面分析有些像Asp.Net向数据库提交的时候,Oracle数据库处理不过来一直在排队的原因,但是DBA已经针对Oracle数据库进行了相应的优化处理,应该不存在Oracle数据库资源瓶颈问题。同时出现该问题之后,管理员将IIS停掉并Kill掉相应的IIS进程之后仍无效果,必需要重启当前Oracle数据库操作系统及IIS服务器操作系统。
...全文
540 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
topson_fj 2009-08-06
  • 打赏
  • 举报
回复
项目现在针对几张经常性访问的表调整了pctfree以及pctused之后,目前已经暂时解决了这个问题,谢谢大家。
topson_fj 2009-08-04
  • 打赏
  • 举报
回复
应用连接池已经开启,设置当前最小连接数是10个,目前倒不是数据库连接不够用的问题,今天又重新分析了下,发现Oracle中的buffer busy waits达到了243.17秒,由于是一个考试系统,试卷提交的时候数据量较大,感觉是数据库的配置有问题,不知哪位大侠有这方面的经验指导下。
terrible12 2009-08-03
  • 打赏
  • 举报
回复
oracle数据库不是那么脆弱的,lz请到网上查看.net配置“应用连接池”的文章。
wuyq11 2009-08-03
  • 打赏
  • 举报
回复
操作数据库问题,数据库占用资源太多,
常用数据用缓存,提高数据效率
xierfly 2009-08-03
  • 打赏
  • 举报
回复
NHibernate 没用过。应该是从java上的Hibernate演变过来的。
惜分飞 2009-08-03
  • 打赏
  • 举报
回复
NHibernate不是听说这个很好么?
比微软最新的entity framework好啊
老Key 2009-08-03
  • 打赏
  • 举报
回复
[Quote=引用楼主 topson_fj 的回复:]
目前一个项目是使用.Net Framework 3.5 + NHibernate开发的,后台数据是使用Oracle 9i,目前系统运行一段时间之后,发现系统速度越来越慢,起先以为是服务器负载问题,后面发现在线人数在700多人的时候系统没有问题,网页打开时间低于2秒,但是人数只有100多的时候网页打开时间却超过30秒。前期用户执行的功能基本都是一样,排查后发现网页打开速度很慢的时候,Oracle的连¡­
[/Quote]
同意,我想也是数据库的问题
周公 2009-08-03
  • 打赏
  • 举报
回复
在2005年时做的一个项目中用到NHibernate,网站效率低下,改用ADO.NET之后效率就高了,自此以后就没再用过NHibernate了。
阿非 2009-08-03
  • 打赏
  • 举报
回复
猜测是 对数据库查询 没有返回的情况下,又多次访问数据库 导致

简单的办法,应用缓存。立竿见影

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧