1、网站的每天访问量很大。
2、运行几天后网站运行速度很慢。
3、查看任务管理器,发现此时任务管理器中的Mem Usage项,数据增长很快。
4、出现这个问题后,大约两个小时后,会自动好了。
5、有时候重启服务器,也不管用,Mem Usage项依然增长很快。
6、只要Mem Usage稳定了,网站访问就正常了。PS:程序使用了SQLHelper.cs;session、cache几乎没怎么用。大家有遇到过这种问题吗,请教高手指教,谢了
2、运行几天后网站运行速度很慢。
3、查看任务管理器,发现此时任务管理器中的Mem Usage项,数据增长很快。
4、出现这个问题后,大约两个小时后,会自动好了。
5、有时候重启服务器,也不管用,Mem Usage项依然增长很快。
6、只要Mem Usage稳定了,网站访问就正常了。PS:程序使用了SQLHelper.cs;session、cache几乎没怎么用。大家有遇到过这种问题吗,请教高手指教,谢了
解决方案 »
- “DevExpress.XtraReports.UI.XtraReport”的类型初始值设定项引发异常
- 为什么我这个登陆系统登录不上
- 帮忙把wav文件头写入文件
- winform用的access, ds.fill(sql ,"table")用断点执行的语句与不用断点结果不一样
- 菜乌问题:为会么mainForm接收不到key_down等鍵盘消息?在线等
- openFileDialog 如何取得所选文件的路径?
- 多个窗体的问题
- 在做界面的时候, WebForm跟 WinForm比较起来都有哪些不足???或者说还少哪些控件,哪些控件的功能比WinForm差?差在哪里???
- 在C#中如何插入资源?
- WPF,宽度为1的Border
- 如何在ComboBox中下拉DataGridView,并将组合后的控件再以DataGridViewColumn放置在DataGridView控件中?
- 急 急!关于datagridview中DataGridViewTextBoxColumn问题
记住,有打开,就要有关闭,
其他操作就是一些简单的查询,使用频率很低下面是我往数据库里写数据的程序
using (SqlConnection Conn = new SqlConnection(ConnString))
{
Conn.Open();
using (SqlTransaction Tran = Conn.BeginTransaction())
{
try
{
//SQL for Insert
}
catch
{
Tran.Rollback();
}
finally
{
Conn.Close();
Conn.Dispose();
}
}
}
{
Conn.Open();
}
你的服务器是什么级别的?什么级别就可以来处理什么量级的访问。代码的问题上要看是慢在数据库层了还是慢在应用层,这个很关键,你判断不出来就无法解决。还有就是看看能不能用WEB GARDEN技术来分散压力。
{
System.Threading.ThreadPool.QueueUserWorkItem(myTask);
}private void myTask(object obj)
{
using (SqlConnection Conn = new SqlConnection(ConnString))
{
Conn.Open();
//SQL for Insert
}
}另外,如果你只是执行一个SqlCommand对象,那么SqlTrsanction完全是多余的,SqlServer会自动为每一条命令创建一个事务。另外,Using(){...}完全不应该画蛇添足地写try...catch...finally。
web服务器 内网链接 数据库服务器
QueueUserWorkItem方法都有啥好处,能有效的提升我程序的性能不,再来对资源释放有作用吗?
还有myTask方法体中,Conn.Open();之前需要加
Conn.State == ConnectionState.Closed这个判断不?
谢了
这种情况,在程序里加SqlTrsanction是不是多余呀!
1、使用QueueUserWorkItem来执行我的处理程序
2、用using来创建SqlConnection,去掉try、catch、finally语句。
3、添加Conn.State == ConnectionState.Closed判断,来决定是否Conn.Open()。
4、去掉SqlTrsanction部分。
建议楼主
在数据量小,使用又非常多的地方,使用DataSet,
在连接关闭之前,提交事务:
Tran.Commit ();
记住,有打开,就要有关闭,一定要资源释放的。