【问题标题】:How to troubleshoot suspended queries in Azure Synapse?如何对 Azure Synapse 中的暂停查询进行故障排除?
【发布时间】:2022-02-17 23:30:49
【问题描述】:

目前,在从 ADF(存储过程调用)执行时,我在 Azure Synapse 中遇到了暂停查询的问题。 另外,我按照以下链接中的建议对问题进行了故障排除:

https://docs.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-manage-monitor

故障排除查询返回如下:

我检查了事务锁是否是问题,因为我杀死了一些暂停或运行的查询,它们运行了 15 个小时以上。我还检查了其余查询是否正在运行,但没有什么会导致事务锁定。我尝试从如上所述被阻止的 Azure Data Studio 手动运行存储过程,完成需要 40 秒。 虽然来自 ADF 的暂停查询,但花了将近一个小时才完成。

非常感谢任何解决此问题的建议。

谢谢

【问题讨论】:

    标签: sql azure-data-factory azure-synapse


    【解决方案1】:

    在 Azure Synapse Analytics、专用 SQL 池中调整查询时,您必须始终考虑许多因素:

    1. DWU - 你的泳池在哪个 DWU 上?较低的 DWU 意味着较低的并发用户和较低的性能,不应用于任何类型的性能调整。暂时启动它以排除此问题,请记住更改此选项会断开任何活动查询。另请注意,并非所有查询都会响应更高的 DWU。
    2. 资源类 - 什么资源类与执行这些查询的用户相关联?记住默认是smallrc,管理员用户总是有smallrc。了解static and dynamic resource classes。 DMV sys.dm_pdw_exec_requests 将为您提供有关这方面的有用信息。试用您的工作负载,以找到性能和并发性 v 资源类之间的最佳点。鼓励您的开发团队在他们的查询中使用标签:OPTION ( LABEL = 'some informative label' )
    3. 表格几何结构 - 这是表格的分布 (ROUND_ROBIN|HASH|REPLICATE) 和索引选择 (CLUSTERED COLUMNSTORE|CLUSTERED INDEX|HEAP)。聚集列存储和循环是默认设置,但它们并不总是合适的。考虑什么适合您的桌子。

    如果您解决了这些问题,但仍有问题,您可以开始查看统计数据和工作负载分类,但收集有关上述几点的信息应该会给您一个好主意。

    如果你只是在做单值插入,那么不要。专用的 SQL 池对这些很糟糕。将这些转换为从单个 INSERT / COPY INTO 中的文件加载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-16
      • 1970-01-01
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-27
      相关资源
      最近更新 更多