0

我正在开发一个在 Azure 上运行的 ASP.NET MVC4 应用程序。我使用简单的成员身份进行身份验证,我的数据主要存储在表存储中。这包括存储在一行表存储中的网页源。

最近,我在本地环境中的页面出现了巨大的性能问题,需要 10-60 秒才能出现。我曾尝试使用本地 Web 服务器和 IIS Express,但差别不大。事情仍然进展缓慢。

我记得的一件事是最近我改用简单会员资格,现在我有以下连接字符串:

    <connectionStrings>
    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-WebUx-20121229234926;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-WebUx-20121229234926.mdf" />
  </connectionStrings>

我看到一个 SQL Server 进程在任务管理器中运行。有没有可能这可能会很慢。我的内存使用量是 3GB 的 70%。有什么建议么?你认为如果我改用我在云上运行的 SQL Server 会更好吗?

  <connectionStrings>
    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=xxx.database.windows.net;Initial Catalog=selftestware;Persist Security Info=True;User ID=xx;Password=yy" />
  </connectionStrings>

我愿意尝试任何事情。只希望我的页面在不到一分钟的时间内在本地出现:-(

4

1 回答 1

1

重要的是分析您的代码。这可以简单到将数据库调用与对Stopwatch.

我的猜测是,您的应用程序正在通过您的住宅 Internet 连接对 Azure Web 服务进行大量、闲聊的调用,如果您通过移动宽带连接,这可能至少需要约 100 毫秒,甚至可能高达 2000 毫秒(3G) 服务。

Azure 应用程序在 MS 的服务器上运行得更快,因为它们与数据库服务器的连接延迟低,你没有这种奢侈。

我建议您将应用程序配置为仅使用本地 SQL Server。

不用担心初始页面请求 - 这些在 ASP.NET 上总是很慢,因为它会重新编译您的 *.aspx/Razor 文件,重要的是所有后续请求。

于 2013-02-10T07:44:05.293 回答