表存储的可伸缩性和性能目标
本参考详细介绍了 Azure 存储的可伸缩性和性能目标。 以下所列的可伸缩性和性能目标为高端目标,但却是能够实现的。 在任何情况下,存储帐户实现的请求速率和带宽取决于存储对象大小、使用的访问模式、应用程序执行的工作负荷类型。
请务必测试服务,确定其性能是否达到要求。 如果可能,应避免流量速率突发峰值,并确保流量在各个分区上均匀分布。
当应用程序达到分区能够处理的工作负荷极限时,Azure 存储将开始返回错误代码 503(服务器忙)或错误代码 500(操作超时)响应。 如果发生 503 错误,请考虑修改应用程序以使用指数退避策略进行重试。 使用指数退让策略,可以减少分区上的负载,缓解该分区的流量高峰。
表存储的缩放目标
下表描述了表存储的容量、可伸缩性和性能目标。
资源 | 目标 |
---|---|
Azure 存储帐户中表的个数 | 仅受存储帐户的容量限制 |
表中的分区个数 | 仅受存储帐户的容量限制 |
分区中实体的个数 | 仅受存储帐户的容量限制 |
单个表的最大大小 | 500 TiB |
单个实体的最大大小,包括所有属性值 | 1 MiB |
表实体中属性的最大数目 | 255(包括 3 个系统属性:PartitionKey、RowKey 和 Timestamp) |
实体中单个属性的最大总大小 | 因属性类型而异。 有关详细信息,请参阅了解表服务数据模型中的属性类型。 |
PartitionKey 的大小 | 最大大小为 1024 个字符的字符串 |
RowKey 的大小 | 最大大小为 1024 个字符的字符串 |
实体组事务的大小 | 一个事务最多可包含 100 个实体,并且有效负载大小必须小于 4 MiB。 实体组事务只能包含对实体的更新一次。 |
每个表存储的访问策略的最大数目 | 5 |
每个存储帐户的最大请求速率 | 20,000 事务/秒,假定实体大小为 1-KiB |
单个表分区的目标吞吐量(1 KiB 实体) | 每秒最多 2,000 个实体 |