你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Blob 存储生命周期管理可帮助你自动将对象转换到低成本的访问层,或者在生命周期结束时删除对象,以降低存储成本。 如果策略处于活动状态,生命周期管理会定期处理与生命周期管理策略中指定的筛选器集和规则匹配的存储帐户中的对象。 策略完成存储帐户中处理对象所需的时间取决于许多因素,例如要评估和作的对象数、帐户上的客户工作负荷、存储资源的可用性等。 在某些情况下,完成存储帐户中的所有对象处理可能需要几天时间。 新的生命周期管理策略运行仅在正在进行的运行完成后才开始。 生命周期管理不断优化执行速度,同时牢记这些因素。
影响生命周期管理性能的因素
有许多因素会影响生命周期管理在单个存储帐户中处理对象所需的执行时间。
生命周期管理通过创建生命周期管理策略中的筛选器集(前缀或文件路径)来处理存储帐户中的对象子集。 如果未指定范围或范围太宽,生命周期管理可能必须处理大量对象,这可能会增加策略完成所需的时间。 如果大量对象满足策略条件,则处理时间也会增加。 当首次在存储帐户上启用策略时,处理时间增加尤其如此。
对存储帐户发出的所有请求(包括生命周期管理策略发出的请求)将累积到每秒请求数相同的限制。 随着请求限制的临近,优先处理客户工作负荷发出的请求。 如果达到存储帐户的可伸缩性和性能限制,处理对象的延迟也会增加。 确定需要在特定时间范围内执行的作时,请考虑此延迟。 详细了解 标准存储帐户的可伸缩性和性能目标。
通过优先考虑客户工作负荷,生命周期管理可确保这些工作负荷以最少到无中断的方式运行。 但是,它可能会影响生命周期管理处理的对象速率。 在这种情况下,创建和修改对象的速率可能高于生命周期管理可以处理存储帐户的速率。
策略条件仅在策略运行期间对每个对象进行评估一次。 在某些情况下,对象在运行已评估后可能满足条件。 此类对象在后续运行中进行处理。
其中任何一种情况都可能导致生命周期管理需要几天才能完成存储帐户中的处理对象。 生命周期管理的这种性能特征可能导致对象处理时间更长,并可能导致存储容量增加。
提高生命周期管理性能的最佳做法
缩小生命周期管理策略的范围
如果生命周期管理需要很长时间才能完成运行,请考虑应用筛选器集来缩小搜索和评估的范围。 可以通过在创作生命周期管理策略规则时添加前缀和/或 Blob 索引标记来执行此作。 缩小范围使生命周期管理能够优化作。
提示
使用 Azure 存储 Copilot 来帮助配置生命周期管理策略。
针对存储和事务成本进行优化
小型对象在当前层中停留可能更具成本效益,而不是支付事务成本,以将其移动到更便宜的存储层。 除非必须,否则避免将小文件移动到较低层。 详细了解 如何选择正确的存储层。
提示
Azure 存储 Actions 支持基于大小的对象目标和分层/删除作。
设置适当的基于时间的规则
避免在对象创建、修改或上次访问时间与策略的预期作之间使用较短持续时间的策略条件。 生命周期管理可能需要长达 24 小时才能在完成前一次运行后开始处理。 策略更改和更新最多可能需要 24 小时才能生效。 如果策略需要数天才能完成,则可能无法对运行中早期评估的对象进行作,即使它们满足运行期间的条件。
了解可伸缩性和性能限制
存储帐户的请求速率和带宽取决于对象大小、访问模式和工作负荷类型。 生命周期管理可能会在高流量工作负荷期间处理对象的速度变慢。 如果一直注意到存储帐户达到帐户限制和生命周期管理处理速度放缓,请请求增加帐户限制。 生命周期管理性能可能会根据资源分配和工作负荷优先级提高。 若要请求增加,请联系 Azure 支持 部门。
设置故障排除和监视
应定期评估生命周期管理策略的性能。 设置 事件网格通知 ,以在生命周期管理策略运行完成后收到通知。 若要深入了解运行详细信息,请使用 Azure Monitor 中的存储资源日志。