Asp.net mvc Azure云上的表单身份验证/配置文件速度慢,本地良好
我在Azure上使用MVC4,它的加载速度非常慢(超过一分钟)。以下是一些页面的加载时间: (6.9分钟是我尝试加载7个不同页面的选项卡时) 在本地使用Azure emulator时,不会出现此问题 我尝试过使用一个超大的实例,并使用远程桌面在本地运行该站点,但速度同样缓慢。我也尝试过使用iisexpress和普通IIS,但也没有 我使用“Internet应用程序”模板创建了一个全新的MVC项目,该模板包括安全性,非常简单 速度也很慢,所以我很确定我在项目中使用的其他东西不会造成问题。这是货物 仅使用默认MVC项目的时间:Asp.net mvc Azure云上的表单身份验证/配置文件速度慢,本地良好,asp.net-mvc,azure,asp.net-mvc-4,asp.net-membership,azure-sql-database,Asp.net Mvc,Azure,Asp.net Mvc 4,Asp.net Membership,Azure Sql Database,我在Azure上使用MVC4,它的加载速度非常慢(超过一分钟)。以下是一些页面的加载时间: (6.9分钟是我尝试加载7个不同页面的选项卡时) 在本地使用Azure emulator时,不会出现此问题 我尝试过使用一个超大的实例,并使用远程桌面在本地运行该站点,但速度同样缓慢。我也尝试过使用iisexpress和普通IIS,但也没有 我使用“Internet应用程序”模板创建了一个全新的MVC项目,该模板包括安全性,非常简单 速度也很慢,所以我很确定我在项目中使用的其他东西不会造成问题。这是货物
最初我使用了我的成员DB和我的网站的单独的亲和区域,但是我尝试过使用Mac模板和表单验证和我的Project。 重新访问页面不会显著提高其速度
我还尝试创建一个没有身份验证的MVC站点,生成一个10x5000表:<html>
<body>
<table>
<thead>
<tr>
@for (int i = 0; i < 10; i++)
{
<th>@i
</th>
}
</tr>
</thead>
<tbody>
@for(int i = 0; i < 5000; i++)
{
<tr>
@for(int j = 0; j < 10; j++)
{
<td>Row @i , column @j</td>
}
</tr>
}
</tbody>
</table>
</body>
</html>
@对于(int i=0;i<10;i++)
{
@我
}
@对于(int i=0;i<5000;i++)
{
@对于(int j=0;j<10;j++)
{
第@i行,第@j列
}
}
无论是在本地还是在云上,这都可以很好地加载。即使是冷启动,也只需约10-15秒
因此,我相当肯定,问题在于ASP.NET的配置文件/成员资格/身份验证,但仅限于在部署时
到Azure(因为我在本地运行时使用的是与Universal Providers相同的SQL Azure数据库,而没有这些数据库)
减速)
我原以为这个问题会更普遍,但唯一与之相关的是:
(可能是这个:)
我正在按照该线程中的建议进行尝试:您是否检查了数据库服务器防火墙规则中的“允许其他Windows Azure服务访问此服务器”选项 我想知道提供者是否无法访问数据库并在最后超时之前重试(不过,老实说,我希望抛出一个异常)
如果您已经为网络添加了防火墙规则,但没有为Azure本身添加防火墙规则,您可能会遇到这样的问题。我想不出您尝试/观察到的原因,只是想检查一下显而易见的问题:您的web关联组设置(如果您查看门户上的位置)和您的DB区域是否相同?啊,好问题,忘了加上那个。最初我使用的是其他人在美国中北部建立的数据库,而我建立的网站使用的是美国西部。在我尝试了空白MVC应用程序W/Frand身份验证时,我确实在Western上创建了一个DB,并且尝试了DBS来在测试项目和我的主要项目上加入成员资格,并且都不起作用。是的,数据库都允许其他Windows Azure服务访问它们,我相信这是默认的。在我的本地测试中,它们都有防火墙例外,我已经检查过,以确保数据实际上被写入数据库,而不是某个本地数据库文件。起初我对1分钟超时表示怀疑,并在寻找类似的重试值,但我什么也找不到,随后的值范围为30-90秒。