问题描述
我做的ASP.NET客户管理网站,用的三层结构,用的VPS服务器,访问一个页面CPU能上很高,甚至100%,但是访问完就就将下去了,2秒左右,这存在死循环,和链接未释放的原因么?调试过没问题,但是。。。每天下午就CPU100%下不来了,页面无法打开。。。求解...代码问题的话,怎么找出来问题所在?我找了3天了,看不出来。。。QQ492869838链接是这样写的:publicstaticintExecuteCommand(stringsql,paramsSqlParameter[]values){SqlConnectionc=null;intres=0;try{stringconnectionString=ConfigurationManager.ConnectionStrings["JMBaby"].ConnectionString;c=newSqlConnection(connectionString);c.Open();SqlCommandcmd=newSqlCommand(sql,c);cmd.Parameters.AddRange(values);res=cmd.ExecuteNonQuery();}catch(Exception){}finally{c.Close();}returnres;}这是一个例子
解决方案
解决方案二:
查询页面用的Gridview,不要和我说这个控件垃圾,我要的是解决方法,我这个里面用到了分页,所以要查询两次,因为要显示一共有多少页。。。一个查询的是对象,一个查询的是数量,查询数据前20条,单个查询语句在数据库中执行2秒以内,现在数据量2万,但是一个对象的要访问的页面比较多,例如,一个家长有要查处来他的合同、会员卡等实体类,因为也要显示在列表上。。。跪求人才!
解决方案三:
一个对象的要访问其他很多对象。不要和我说不好,给我解决方法,不这么做怎么做。。。
解决方案四:
vps服务器中的CPU是这样显示的:刚开是3-----满-----2---满-----4到了下午就是满的下不来了。。。分析出原因者,联系QQ,有重谢。。。200Q币或180RMB
解决方案五:
引用1楼jeowar的回复:
一个查询的是对象,一个查询的是数量,查询数据前20条,单个查询语句在数据库中执行2秒以内,现在数据量2万,但是一个对象的要访问的页面比较多,例如,一个家长有要查处来他的合同、会员卡等实体类,因为也要显示在列表上。。。
才2万数据就2秒钟?实在是太慢了。如果不是因为没有用到数据库索引,那么就是你用的服务器太垃圾了。10分钟之内有重复(sql重复)的查询么?我相信你的有成千上万次重复。原本只需要查询一次,而另外9999次取第一次查询的数据缓存就行了。首先将一次sql查询结果进行缓存,其实保证当相关数据更改时缓存能够即刻自动清除,这就是缓存技术(缓存并不是说把一大堆没有什么命中率的数据占领缓存,因为那样反而是浪费了内存从而让你的系统运行更困难)
解决方案六:
谢谢,不过问题不足以解决,现在得到几个解决方法,正在改,改好了结果告你们。