【发布时间】:2018-11-14 14:55:02
【问题描述】:
一段时间以来,我一直在使用 Excel 数据获取和转换(即 Power Query)通过 SSAS 向导从我们的数据仓库 Excel BI 服务器查询数据。
在 2018 年 8 月 1 日左右,一些提取了超过 500,000 条记录(最多 3 或 400 万行)的此类查询开始无法完成。
在构建了一个最小测试查询 (QueryTest) 之后,经过调整,在“失败模式”下大约一小时内仅返回 45 万条记录,我们有一个主要假设:Office/Excel 版本更新似乎是原因。
如果我们使用早期版本的 MS Office 365(例如 circa v 1705 build 8201.2200 click to run),那么 QueryTest 在大约 6 分钟内返回所有 450k 记录。如果我们使用 Excel 的当前更新版本(v 1803 build 9126.2295),测试运行有时不会在一个小时内超时之前完成,或者花费的时间远远超过 1/2 小时。 (参见标称 6 分钟跑步表。)
在快速、早期版本的 Excel 中,Excel 功能区的“数据”选项卡为“显示查询”和“显示连接”提供单独的菜单项,并且每个命令都会打开不同的面板。
在“损坏”的更高版本中,“显示查询和连接”只有一项,并且打开的面板包含一个查询和连接选项卡。
我已经运行了很多很多测试。无论哪台笔记本电脑运行查询,无论使用哪个用户帐户,无论笔记本电脑是直接连接到公司 LAN/WAN 还是通过 VPN,并且通常无论地理位置如何,都会出现相同的结果。在某些地方,QueryTest 的表现不那么糟糕,可能是因为更好的网络性能或延迟。
我们还在不存在问题的 Citrix 上使用 Excel,但似乎我们的 Citrix 版本的 Excel 是具有拆分查询和连接菜单的“旧”版本之一。
我们已经在移除 TrendMicro(我们的防病毒程序)的情况下进行了测试,相对性能差异没有任何变化。
我的猜测是,安全和/或访问协议在某种程度上发生了变化,导致从服务器返回的结果处理或打包速度变慢,但这甚至不是科学的 WAG。
那么,有谁知道更新中发生了什么可能导致这种情况,更重要的是,如何配置服务器和/客户端查询以恢复速度?
测试结果:
Test Name Records Seconds Records/Sec Complete
Old version 1 454,781 140 3,248.44 yes
Old version 2 454,781 137 3,319.57 yes
Old version 3 454,781 141 3,225.40 yes
New version 1 101,284 360 281.34 No
New version 2 94,836 360 263.43 No
New version 3 107,236 360 297.88 No
【问题讨论】:
-
虽然不是解决方案,但这为我调试了为什么我的电源查询时间突然飙升。我去检查了我的构建,并惊喜 - 构建 9126。
-
抱歉,我没有回来查看,但我仍在与 Microsoft 合作。他们最近重现了这个问题,但我还没有解释或任何建议的修复方法。我会坚持并报告我被告知的内容。
标签: excel ssas dax powerquery