网站遇到点麻烦,急求各位帮助。
我的数据库服务器 sqlservre.exe 占用内存高达1.6G,而且网站访问高峰期 cpu 也一直在(90%——100%),甚至有一直100%不动,在早上访问量少的时候也就10% 偶尔高过50%。请各位帮忙把把脉吧。
前台点击查看就是一个sql查询语句,访问量大的时候经常出现下边的提示。访问量低的时候查看没有什么问题
数据库服务器的cpu 是3.06 双核 intel xeon ;内存2G,虚拟内存C D 分别是 2046—4092;数据库最大的表有70万行。
同样的配置去年这个访问高峰期也没有这么频繁的这种情况,今年不知道怎么回事,杀毒也没有杀出什么东西来。
“/”应用程序中的服务器错误。
--------------------------------------------
超时时间已到。在操作完成之前超时时间已过或服务器未响应。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 超时时间已到。在操作完成之前超时时间已过或服务器未响应。
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[SqlException: 超时时间已到。在操作完成之前超时时间已过或服务器未响应。]
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) +742
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) +45
System.Data.SqlClient.SqlCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +5
System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +304
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +77
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) +38
MCC.CMPServices.SqlPersistenceContainer.AssignReturnValueToDataSet(CommandMapping cmdMap, SqlCommand currentCmd, PersistableObject& persistObjectSet)
MCC.CMPServices.SqlPersistenceContainer.Select(PersistableObject selectObject)
PersonOperation.DataAccess.SelectSentResume(SendResume sr) in E:\job2005\PersonOperation\DataAccess.cs:492
JobAdmin.Company.resume_reciveList.Page_Load(Object sender, EventArgs e)
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +739
------解决方案--------------------
确定是数据层问题嘛?
decc opentran 看看有没有未提交的事务.
看看有没有人乱开追踪.
用dac查最占用资源的100条语句.
数据库再做什么.有没有什么动作照成锁表