多用户访问ASP.NET站点,导致出错。

用ASP.NET写了一个在线选课系统,在本机测试的时候一切正常,但是部署到服务器上面后,昨天晚上开放测试,大约有2000人左右同时选课,系统抛出了很多奇怪的错误,想了好久貌似应该是与数据库连接的问题,好像很多错误都是因为没有得到DataReader,或者是读DataReader的时候抛异常。实在是想不到原因了。就是想请教哈大家,对于访问量比较大的WEB应用有没有什么特别要注意的地方。望达人指教
2026年09月28日 06:17
有4个网友回答
网友(1):

对于并发数大的系统,要充分利用 缓存机制 和 数据库连接池的机制,否则,很容易出现数据库并发超标,或者读脏数据等的情况,而对于IIS,也容易出现 连接数过大,内存占用超标等异常。

同时,要注意多并发对资源的竞争,恰当使用资源锁(lock) 和数据库的读写锁 (table lock ,row lock )等

网友(2):

检查一下DataReader有没有关闭
如
using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.ConnectionString, CommandType.Text, mSQL))
{
while (reader.Read())
{
r = string.Format("{0}", reader["contents"].ToString());
break;
}
reader.Close();
}
一定要关闭的

网友(3):

这个问题,感觉应该检查一下是否 用的是一个全局公用连接对象,是的话最好分开用

网友(4):

DataReader会占用当前连接,因此,要避免长时间打开一个DataReader
while(DataReader1.Read()
{
//处理比较复杂的逻辑
}