我正在升级旧版 Azure 网站,以使用旧 Web 层中的当前 SQL Azure 层之一。
该网站在网站和本地运行良好,但当我从 Web 切换到基本或标准时,出现超时错误。
超时的代码是遗留代码:
SqlConnection Conn;
Conn = new SqlConnection(StrConn);
Conn.Open();
try
{
SqlDataAdapter Cmd;
DataSet dtSet;
DataTable dtTable;
Cmd = new SqlDataAdapter(_sql, Conn);
dtSet = new DataSet();
Cmd.Fill(dtSet);
dtTable = new DataTable();
dtTable = dtSet.Tables[0];
Cmd = null;
return dtTable;
}
finally
{
Conn = null;
}
连接字符串未更改。
我可以从 Visual Studio 正常访问基本 SQL 数据库。
有什么建议吗?
最佳答案
基本和标准服务层具有与 Web 服务层不同的性能特征。特别是在 Web 中,如果托管数据库的计算机不忙,您可以获得高级 P2 性能。
当您运行上述代码时,连接到数据库并查询 View sys.dm_db_resouce_stats查看是否最大限度地发挥了数据库的可用性能。
要解决此问题,您可以:
- 如果您可以容忍等待结果的时间更长,请增加命令超时
- 扩展到更高的性能级别,为您提供更多资源,从而加快查询返回速度
此外,您还应该检查是否可以优化查询或架构以减少执行时间。例如,确保您有适当的索引。 This article有性能调优指南帮助您入门。
一月
关于sql - 在基本/标准层上访问 SQL Azure 超时 - 在 Web 层上工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30652087/