1

我正在升级旧的 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 数据库。

有什么建议么?

4

1 回答 1

1

基本和标准服务层具有与 Web 服务层不同的性能特征。特别是在 Web 中,如果托管数据库的机器不忙,您可以获得 Premium P2 性能。

当您运行上述代码时,连接到您的数据库并查询视图sys.dm_db_resouce_stats以查看您是否最大限度地利用了数据库的可用性能。

要解决此问题,您可以:

  1. 如果您可以容忍等待结果的时间更长,请增加命令超时
  2. 向上扩展至更高的性能级别,为您提供更多资源,以便查询更快返回

此外,您应该检查是否可以优化查询或架构以减少执行时间。例如,确保您有适当的索引。本文提供了性能调优指南以帮助您入门。

于 2015-06-04T19:29:17.347 回答