在 Basic/Standard 层上访问 SQL Azure 超时 - 在 Web 层上工作正常
Timeout accesing SQL Azure on Basic/Standard tier - works fine on Web tier
我正在升级旧版 Azure 站点以使用旧 Web 层中的当前 SQL Azure 层之一。
网站在网站上和本地都运行良好,但是当我从网络切换到基本或标准时,出现超时错误。
超时的代码是遗留的:
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 性能。
当您 运行 上述代码连接到您的数据库并查询视图时 sys.dm_db_resouce_stats 以查看您是否最大限度地发挥了数据库的可用性能。
要解决此问题,您可以:
- 如果您可以忍受等待结果的时间更长,请增加命令超时时间
- 扩展到更高的性能级别,为您提供更多资源,以便查询 returns 更快
您还应该检查是否可以优化查询或模式以减少执行时间。例如,确保您有适当的索引。 This article 有性能调整指南可以帮助您入门。
一月
我正在升级旧版 Azure 站点以使用旧 Web 层中的当前 SQL Azure 层之一。
网站在网站上和本地都运行良好,但是当我从网络切换到基本或标准时,出现超时错误。
超时的代码是遗留的:
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 性能。
当您 运行 上述代码连接到您的数据库并查询视图时 sys.dm_db_resouce_stats 以查看您是否最大限度地发挥了数据库的可用性能。
要解决此问题,您可以:
- 如果您可以忍受等待结果的时间更长,请增加命令超时时间
- 扩展到更高的性能级别,为您提供更多资源,以便查询 returns 更快
您还应该检查是否可以优化查询或模式以减少执行时间。例如,确保您有适当的索引。 This article 有性能调整指南可以帮助您入门。
一月