其他性能注意事项

除了四个关键性能原则之外,还有其他几个可能导致性能不佳的原因,通常由于外部因素。

考虑客户端浏览器、设备和位置的差异

画布应用可以在具有不同网络条件的不同设备、浏览器和位置使用。 在执行 Power Apps 客户端时,请务必使用现代、已更新且受支持的浏览器。 在 iOS 或 Android 等不同平台上加载大型数据集时,应用的性能可能会有所不同。 发生这种变化是因为每个平台上的网络请求限制不同。 例如,平台允许的并发网络请求数可能不同。 这些差异可能会对大型数据集的数据加载时间产生重大影响。

考虑本地数据网关和环境的地理位置的差异

用户可以全局访问画布应用。 但是,我们建议您将数据源放在大多数用户附近。 例如,当您的应用访问本地数据网关时,最好将网关放置在最常访问应用的用户附近。

一般服务器端问题

性能不佳可能是由数据服务器源的问题引起的。 此问题可能由各种原因造成。 您可以使用监控工具通过度量数据调用时间来评估特定问题。

数据源中可能的瓶颈问题

数据源瓶颈可能由许多原因导致。 通常,数据源中的一些表位于许多查询活动的中心。 如果出现以下情况,查询可能会很慢:

  • 数据源丢失或索引不正确。
  • 该查询正在连接服务器上的大量特殊数据。
  • 该查询需要表 SCAN,例如,In 运算符,而不是使用诸如 StartsWith 的索引。
  • 托管数据源的后端计算机资源不足。
  • 后端 SQL 实例出现阻塞、死锁或资源争用。
  • 本地数据网关运行不正常。
  • 本地数据网关应进行横向扩展。

出现这些问题时,调整后端数据源以避免应用性能下降。

特定数据源

Azure SQL 数据库

根据您的业务需求选择正确的层非常重要。 有关详细信息,请参阅 Azure SQL 数据库文档。 较低层具有一些限制和约束。 从性能角度来看,CPU、I/O 吞吐量和延迟很重要。 因此,我们建议您定期检查 SQL 数据库的性能,并检查资源使用情况是否超过阈值。 例如,本地 SQL Server 通常将 CPU 使用情况的阈值设置为 75% 左右。

SharePoint

SharePoint 连接器可用于创建使用 SharePoint 列表中的数据的应用。 下面是 SharePoint 的一些常见性能问题和解决方法:

避免动态查找列过多:SharePoint 支持各种数据类型,包括人员、组和计算等动态查找。 如果列表定义的动态列过多,在将数据返回到运行画布应用的客户端之前,需要花费更多时间在 SharePoint 中操作这些动态列。 若要避免此问题,请不要在 SharePoint 中过度使用动态查找列。 例如,使用静态列来保留电子邮件别名或人员姓名。

谨慎使用图片列和附件:在检索客户端时,图像和附加文件的大小可能会导致响应缓慢。 请查看您的列表,确保仅定义了必要的列。 列表中的列数会影响数据请求的性能。 这是由于匹配的记录数,或者是由于检索了达到所定义数据行限制的记录数,然后将其与列表中定义的所有列一起传回客户端所致,即使应用不使用所有这些内容。

考虑分解大型列表:如果您有一个包含成百上千条记录的大型列表,请考虑对列表进行分区,或根据类别或日期和时间等参数将列表拆分为多个列表。 例如,您的数据可以按年或按月存储在不同的列表中。 在这种情况下,您可以设计应用,让用户选择时间范围并检索该范围内的数据。

Dataverse

使用 Microsoft Dataverse 作为数据源时,数据请求将直接进入环境实例,而不经过 Azure API 管理。 因此,它往往比其他数据源更快。 有关详细信息,请参阅连接到 Microsoft Dataverse 时的数据调用流。

检查自定义表配置:如果在 Dataverse 中使用自定义表,用户可能需要额外的安全配置才能使用画布应用查看记录。 有关详细信息,请参阅Dataverse 中的安全概念在环境中将用户安全配置到资源安全角色和特权

Excel

Excel 连接器允许画布应用连接到 Excel 文件中的表。 但是,与其他数据源相比,此连接器具有限制。 例如,由于可委派函数有限,它限制画布应用只能从表中加载最多 2,000 条记录的数据。 要加载 2,000 条以上记录,请将不同数据表中的数据分区为其他数据源。

使用新的 Excel 连接器:请务必使用新的 Excel 连接器 - Excel Business Online。 它允许多用户访问并更好地处理争用问题。

在 Excel 中仅使用大型数据列表中所需的列:如果 Excel 文件中具有过多的数据表,或者数据表中包含多个列的大量数据时,应用执行速度会缓慢。 若要确保您的应用不会受此问题影响,请仅在 Excel 文件中的数据表上定义所需的列。

请注意 Excel 作为数据库的限制。 Excel 不是关系数据库系统:应用中的任何更改都由 Excel 管理,方式与用户在 Excel 文件中直接更改数据一样。 如果应用的读取次数很多,但更新操作较少,其性能可能会很好。 但是,如果应用需要大量事务,则可能会对应用的性能产生不利影响。 事务数量没有特定阈值。 它还取决于所操作的数据。 其他几个方面也会影响应用的性能,例如网络开销或用户设备。

考虑地理位置的差异:数据的地理位置及其与客户位置的距离可能是一个性能问题。 如果移动客户端具有有限带宽,此问题会被放大。