Power BI中的报告创作是在Power BI Desktop中完成的,该桌面安装在用户的工作站上。Power BI中的报告共享是在Power BI云服务(共享或专用容量)中完成的。这意味着在报告创作和报告共享期间,可以使用不同的资源(即内存、CPU、磁盘),特别是对于数据加载(数据集刷新)。因此,在发布到生产环境(即发布到云服务)之前测试报告的数据加载/ ETL性能似乎是不可能的。而且,通常情况下,云服务中的数据加载性能比桌面中的更快。由于我的报表包含大量数据和转换,因此在Desktop中加载数据可能需要很长时间。如何使Desktop的可用资源与云服务中的资源相同,以便减少Desktop中的数据加载时间(在开发过程中)并预测云服务中的性能?
也许更好的问题是,我应该这样做吗?也就是说,我是否应该尝试预测(在Desktop中)报告在云服务中的刷新性能(和/或在开发期间将生产级数据卷加载到Desktop中)?
发布于 2020-07-11 00:27:51
Microsoft不指定Power BI服务中使用的硬件CPU/内存。它也是一个共享服务,因此同一个集群上可以托管多个Power BI租户。他们确实提到,你可能会受到嘈杂的邻居问题的困扰,所以如果其他租户对你造成了沉重的打击,你的表现可能会受到影响。
根据我的经验,可用的内存超过25 ok,因为没有在高级P1节点上运行的查询在服务中运行正常。使用专用节点,您可以使用管理报告查看后台运行情况、查询时间、刷新时间、cpu/内存使用情况。
在测试Desktop vs Service的性能时,有一些问题。例如,一个SQL query in desktop will run twice,首先检查结构和数据,然后获取数据。当它被部署到服务时,不会发生这种情况,因此在这个示例中,您的加载速度会更快。
如果你正在访问本地数据,那么在桌面上访问会比服务更快,因为你必须通过网关。此外,如果你连接到Azure SQL数据库,那么当你将Azure服务部署到服务时,Azure服务之间的连接和带宽将比到Azure服务的桌面连接略快,因为数据必须在数据中心之外传输到你。
因此,对于导入数据集,您可以查看数据集刷新开始和结束时间,并计算出确实需要多长时间。
对于基线测试,生成100万行数据,这不一定很复杂。在桌面上测试几次加载时间,得到一个平均值,部署并在服务中试用。然后继续添加100万行,看看数量与所用时间之间是否存在线性关系。
然而,根据数据类型、位置和网络速度的不同,它不会是一个完全的like for like比较,但它应该给你一个公平的指示,表明你在使用该服务时可能获得的任何性能提升,以平衡该服务的桌面规格。
https://stackoverflow.com/questions/62837327
复制相似问题