timeout - 影响 Powerbi 报告刷新的 SQL 数据库 DTU
问题描述
我使用在 Microsoft Azure 中创建的 SQL 数据库在 Microsoft PowerBI 中创建了大约 5 个报告。该数据库有超过 5000 万行。最近我的报告已经停止刷新。如果他们刷新,刷新时间很长并且运行速度非常慢。这是我在此处输入图像描述的错误的屏幕截图
我昨天联系了 Microsoft PowerBI 以检查问题是否来自软件本身。我向他们展示了我的数据库和我的报告,他们告诉我,我的 SQL 数据库中的 DTU 达到了最大值 100%,这会减慢数据库在刷新期间的响应并使其无法正常运行。这是我的数据库性能的屏幕截图,请在此处输入图像描述。请注意,这张图片只显示了 DTU 的最大值,平均值给出了 50% 的值
我不是 Azure 专家,我需要知道 DTU 是否真的会影响将数据从数据库调用到 Powerbi 的性能。
解决方案
是的,DTU 会影响 Azure SQL 数据库的查询性能。当然,它会影响从数据库调用数据到 PowerBi 的性能。
数据库事务单元 (DTU) 表示 CPU、内存、读取和写入的混合度量。
对于服务层中特定计算大小的单个数据库,Microsoft 保证该数据库具有一定级别的资源(独立于 Azure 云中的任何其他数据库)。这种保证提供了可预测的性能水平。为数据库分配的资源量以 DTU 的数量计算,是计算、存储和 I/O 资源的捆绑度量。
这些资源之间的比例最初由设计为典型的现实世界 OLTP 工作负载的在线事务处理 (OLTP) 基准工作负载确定。当您的工作负载超过任何这些资源的数量时,您的吞吐量会受到限制,从而导致性能下降和超时。
当 DTU 达到最大值 100% 时,表示数据库的性能已达到资源限制。
您需要扩展 Azure SQL 数据库服务价格层或进行性能调整。
更多细节请参见:监控和性能调优。Azure SQL 数据库提供了可用于轻松监视使用情况、添加或删除资源(例如 CPU、内存或 I/O)、解决潜在问题以及提出改进数据库性能的建议的工具和方法。
希望这可以帮助。
推荐阅读
- c++ - 使用 Dijkstra 算法跟踪两个节点之间的最短路径
- javascript - 使用 HTTP PUT 获取后 setState 挂钩未更新
- angular - DataGrid 不包含在 Angular 订阅范围内的“this”上下文中
- angular - 在 Angular 中路由到外部应用程序(例如 Wordpress)
- vba - 将参考库添加到外部 MS Access 数据库
- python - 强制依赖项从单独的位置导入 (AWS Lambda)
- python - 如何使用基于 ctypes 和 ctypes 的枚举正确调用将“自定义枚举”作为参数的函数?
- django - 使用关联模型和 timedelta 对对象进行排序
- python - “CreateFile() Error: 5” 继续显示在我的 R Studio 控制台和 Jupyter Notebook Prompt
- ssl - 基于 sni 的 Haproxy TLS 终止和透传