【问题标题】:Cube Processing fails only in parallel mode多维数据集处理仅在并行模式下失败
【发布时间】:2015-01-08 08:48:50
【问题描述】:

我确实有一些可重现的错误,我不再愿意承担,所以我希望你们中的一些人可能知道更好的解决方法。

我每天处理几个较大的立方体(大约 10-50 GB)。当我在 XMLA-Script 中使用时,仅处理分区(大约 20%)大约需要 1 小时 - 所以在并行模式下处理维度和度量。 这仅适用于 2/5 次运行。

所以我有一个检测崩溃的程序,如果发生崩溃,则启动串行处理,这将慢约 2-5 倍 - 但至少每次都有效。

错误代码非常通用,帮助不大:

  • 操作已取消; HY008
  • 通信链路故障; 08S01; TCP 提供程序:现有连接被远程主机强行关闭。

而且由于它每次都在串行模式下工作,我知道原则上没有错误。

我正在使用 微软 SQL Server 2014 - 12.0.2000.8 (X64) 企业版:Windows NT 6.3 (Build 9600:)

请,如果您有任何想法如何解决(解决方法)这个问题。

感谢您对这种行为的每一个新见解或想法。

【问题讨论】:

  • 请同时指定服务器核心数量、服务器超时参数、'CoordinatorExecutionMode'和'ThreadPool\Process\MaxThreads',以及数据库参数'最大连接数'。
  • 很高兴(感谢打扰):核心数量::::6 Cores (Intel(R) Xeon(R) CPU E5-2420 v2 @ 2,20 GHz)::(So the SQL-Server believes it has 12 cores)::Maximum-Worker Threads 设置为0 (unlimited)::服务器超时参数:::@ 987654324@ :: Parallelism :: Query Wait = -1 :: Query Execution Timeout: 0 (no time-out) :: CoordinatorExecutionMode: -4 :: ThreadPool\Process\MaxThreads: 0 :: DB参数Maximum Number of Connections: 0 (unlimited)(抱歉缺少换行符)

标签: sql-server parallel-processing sql-server-2012 ssas cube


【解决方案1】:

这看起来像是并发问题和/或繁重的 SQL 服务器工作负载(例如,主要由来自 SSAS 服务器的无限线程引起)。我想,最好为必要的参数设置 MAX 值:

ThreadPool\Process\MaxThreads = 4*cores

DB 连接数 = 2*cores-1(这是基于我自己的实践)。如果有必要在处理时间之外有大量连接,您可以在处理任务之前和之后调整它。

也许会以某种方式使用亲和力掩码,但之前的参数调整应该就足够了。

这篇文章 http://phoebix.com/2014/07/01/what-you-need-to-know-about-ssas-processor-affinity/ 还有这本书 http://msdn.microsoft.com/en-us/library/hh226085.aspx 详细描述整个技术。

更新:

TCP 设置错误的可能性也很小,此处描述:http://blogs.msdn.com/b/cindygross/archive/2009/10/22/sql-server-and-tcp-chimney.aspx

但这可能导致串行处理失败。

【讨论】:

  • 嗨,亚历克斯,非常感谢。这也是我的经验。我允许的并行性越少,SSIS/SSAS 就越可靠。我会尝试这些计算,然后回到这里发表评论。
  • 对 ThreadPool\Process\MaxThreads 设置限制对我来说很有帮助。这应该被标记为答案。
猜你喜欢
  • 2022-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多