1

我们的 Web 应用程序中加载了一个新的报表仪表板,其中数据来自 Azure SQLDataWareHouse。

仪表板由约 8-10 个图块组成,每个图块显示不同的指标,由不同的查询加载。

使用一些简单的 ADO.NET 代码从 webapp 执行各种查询,以使用dashboard用户帐户连接到 DW。

我已经阅读了关于内存和并发限制资源类的两篇文章,但有些东西我只是不理解。

对于我们的 DW 服务级别(Gen2 - DW200c),服务器应该支持运行 8 个并发查询。同样,我们已经将我们的dashboard用户添加到staticrc80资源组中,这应该允许它访问所有 8 个并发槽。

但这似乎没有帮助。我是否正确理解,无论这些资源配置如何,它仍然一次只为单个用户执行单个查询?并且在同一个用户帐户下执行的多个查询仍然会排队?

一种替代方法似乎是我可以为每个磁贴使用不同的用户帐户,建立 8 个单独的连接,运行 8 个单独的查询,其中每个查询帐户都分配给 staticrc10 角色。

我在这里错过了一些基本的东西吗?此 DW 专用于单个应用程序,具有单个用户帐户 reader 用户帐户。如何根据资源类等配置该帐户...以充分利用 8 并行查询/200 DWU 资源分配。

4

2 回答 2

1

在同一用户帐户下执行的多个查询仍会排队吗?

您观察到的行为可能与并发槽无关。可能是客户端没有并行发送所有查询。与 SQL Server(或 Synapse)的客户端连接一次只能处理一个查询。客户端可以随意打开任意数量的连接,但它们通常不会。每个客户端两个连接是您通常看到的最多。

退一步说,如果您正在努力提高仪表板的性能,您是否看过Result Set Caching?它旨在改善常见查询的响应时间,这通常发生在仪表板磁贴中。

于 2020-01-07T13:46:53.317 回答
1

根据文档,DWU200c 的静态资源类staticrc80使用 8 个资源槽,因此 DWU200c 最多有 8 个并发槽,我希望单个连接使用所有这些槽,因此您的并发查询将排队,一次一个.

静态资源类和并发槽 考虑将您的用户切换到staticrc10最多允许 8 个并发查询的用户。无需创建 8 个不同的用户。

请问,你用的是Power BI吗?此外,DWU200c 对于任何工作负载都非常低,它实际上只是为了让事情顺利进行。

于 2020-01-07T11:10:32.537 回答