Azure Cloud 上的表单身份验证/配置文件速度慢,本地正常

Posted

技术标签:

【中文标题】Azure Cloud 上的表单身份验证/配置文件速度慢,本地正常【英文标题】:Form Authentication / Profiles slow on Azure Cloud, fine locally 【发布时间】:2012-10-20 03:26:06 【问题描述】:

我在 Azure 上使用 MVC 4,它的加载速度非常慢(超过一分钟)。以下是几个页面的加载时间: (6.9 分钟是我尝试加载不同页面的 7 个标签时)

当我在本地使用 Azure 模拟器时,不会出现此问题。

我尝试过使用超大实例,并使用远程桌面在本地运行站点,但速度同样慢。我也试过使用 IIS Express 和普通的 IIS,也没有。

我使用“互联网应用程序”模板创建了一个全新的MVC项目,其中包括安全性,非常 也很慢,所以我很确定我在项目中使用的其他东西不会导致问题。这是负载 仅使用默认 MVC 项目的时间:

我最初为我的会员数据库和我的网站使用单独的关联区域,但我尝试在带有表单身份验证的空白 MVC 模板和我的项目上使用匹配的关联组。

重新访问页面并没有显着提高速度。

我还尝试创建一个没有身份验证的 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>

这在本地和云端都可以正常加载。即使是冷启动,也只需约 10-15 秒。

所以我相当确定问题在于 ASP.NET 的配置文件/成员身份/身份验证,但仅在部署时 到 Azure(因为我在本地运行时使用与 Universal Providers 相同的 SQL Azure 数据库,但没有这些 减速)。

我预计这个问题会更常见,但唯一真正相关的是: social.msdn.microsoft.com/Forums/en-US/windowsazuremanagement/thread/7d3323d8-571b-4b8f-9fdb-bd5ccc6c39b7 (可能是这个:***.com/questions/10791433/saving-changes-very-slow-via-datacontext)

按照该线程中的建议,我正在尝试尝试:windowsazure.com/en-us/manage/windows/best-practices/

【问题讨论】:

鉴于您尝试/观察到的内容,我想不出原因,只是为了检查一下显而易见的情况:您的网络关联组设置(如果您查看门户网站上的位置)和您的数据库地区一样吗? 啊,好问题,忘了补充。最初我使用的是其他人在美国中北部建立的数据库,而我建立的站点使用的是美国西部。当我尝试使用表单身份验证的空白 MVC 应用程序时,我确实在美国西部创建了一个数据库,并在测试项目和我的主项目中尝试了两个数据库作为成员资格,但都没有成功。 【参考方案1】:

您是否检查过数据库服务器的防火墙规则中是否勾选了“允许其他 Windows Azure 服务访问此服务器”?

我想知道提供程序是否无法访问数据库并在最终超时之前重试(不过,老实说,我希望会引发异常)。

如果您已为网络添加防火墙规则,但未为 Azure 本身添加防火墙规则,您可能会遇到此类问题。

【讨论】:

是的,数据库都允许其他 Windows Azure 服务访问它们,我相信这是默认设置。对于我的本地测试,它们也都有防火墙例外,并且我已经检查以确保数据实际上被写入数据库而不是某些本地数据库文件。最初我对 1 分钟超时持怀疑态度,并正在寻找类似的重试值,但我找不到任何东西,随后的值范围为 ~30-90 秒。

以上是关于Azure Cloud 上的表单身份验证/配置文件速度慢,本地正常的主要内容,如果未能解决你的问题,请参考以下文章

无法对 Azure 上的 API 管理执行资源所有者密码 OAuth2 身份验证

Spring Cloud OAuth2:身份验证后再次重定向到登录页面,就像使用表单登录时未经身份验证一样

从托管在 GitHub 上的 Spring Cloud Config Server 访问的 repo 的身份验证问题

Restful 上的表单身份验证

我们如何在 Xamarin 表单中删除/自定义 Azure AD B2C 身份验证 webview 页面标题栏?

移动设备上的 Azure App Service 身份验证问题