你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用此清单可降低延迟、增加吞吐量,并符合 Azure 存储规模和性能目标。 Azure 存储使用术语 目标 ,而不是 限制 ,因为某些值可以在请求时增加。 当客户端接近或超过这些目标时,Azure 存储可能会限制请求,这会增加延迟。 使用本文中的清单与目标保持一致,而不会牺牲性能。
注释
本文仅适用于自定义应用程序。 有关适用于所有客户端的建议,请查看 Blob 存储的性能清单。
性能清单
使用 Azure 存储客户端库:为了获得最佳性能,请使用Microsoft客户端库。 这些库针对性能进行优化,与服务版本保持最新状态,并在内部处理经过验证的性能做法。
优化并行块传输:使用较小的块大小增加并行传输,但保持大小超过 4 MiB(标准)或 256 KiB(高级),以激活高吞吐量块 Blob。 平衡并行性,避免超出设备能力或存储目标,从而导致性能下降。 针对并发请求设置适当的限制。 请参阅适用于 .NET、Java、JavaScript、Python 和 Go 的性能指南。
使用指数退避重试策略:使用指数退避策略处理暂时性错误。 例如,在 2、4、10、30 秒后重试,然后停止。 此策略可防止过度重试非暂时性错误,例如应用程序接近或超过性能和缩放目标时发生的错误。 客户端库知道要重试的错误和不重试的错误。 若要应用重试策略,请参阅适用于 .NET、Java、JavaScript、Python 和 Go 的重试指南。
使用服务器到服务器 API 在容器和帐户之间复制:使用 Put Block From URL 在帐户之间复制数据,以及复制帐户中的数据。 服务器端操作减少带宽使用,因为不需要先下载然后上传数据。 请参阅适用于 .NET、Java、JavaScript、Python 和 Go 的复制指南。
缓存数据以提高性能:缓存经常访问或很少更改的数据,例如配置和查找数据。 将条件标头与 GET 操作结合使用,仅在自上次缓存后发生修改时才检索 Blob。 有关详细信息,请参阅为 Blob 服务操作指定条件标头。
批量上传数据:在上传之前聚合数据,而不是立即上传。 例如,在本地保存日志条目并定期上传为单个 Blob,而不是单独上传每个条目。