小编azu*_*eca的帖子

如何处理500万用户?ASP.NET身份

我正在运行一个ASP.NET mvc5应用程序,目前有500万用户.它托管在Azure云中.对于身份验证,我使用Asp.Net Identity for EntityFramework.

但是,我得到的用户越多,寄存器功能就越慢.我尝试缩放数据库,但结果仍然相同.新用户注册大约需要6-7秒.

我也试着搜索如何提高身份系统的性能,但我找不到任何相关的东西.

我真的很想知道是否有人知道如何才能提高它的性能.

更新:我在搜索的字段上有索引,而且,我在Azure中选择的数据库订阅是具有200个DTU的P3 SQL数据库.

我描述了数据库,我发现了一个可疑的选择查询.我删除了一些预测并用"...."替换它们,所以它不会太长,你可以看到什么是查询.

SELECT 
    [UnionAll2].[Gender] AS [C1], 
    ....
    [UnionAll2].[UserName] AS [C27], 
    [UnionAll2].[C1] AS [C28], 
    [UnionAll2].[UserId] AS [C29], 
    [UnionAll2].[RoleId] AS [C30], 
    [UnionAll2].[UserId1] AS [C31], 
    [UnionAll2].[C2] AS [C32], 
    [UnionAll2].[C3] AS [C33], 
    [UnionAll2].[C4] AS [C34], 
    [UnionAll2].[C5] AS [C35], 
    [UnionAll2].[C6] AS [C36], 
    [UnionAll2].[C7] AS [C37], 
    [UnionAll2].[C8] AS [C38], 
    [UnionAll2].[C9] AS [C39]
    FROM  (SELECT 
        CASE WHEN ([Extent2].[UserId] IS NULL) THEN CAST(NULL AS int) ELSE 1 END AS [C1], 
        [Limit1].[Gender] AS [Gender], 
        ....
        [Limit1].[UserName] AS [UserName], 
        [Extent2].[UserId] AS …

asp.net identity

9
推荐指数
2
解决办法
1908
查看次数

标签 统计

asp.net ×1

identity ×1