|
| 1 | +--- |
| 2 | +title: Lifecycle Management Performance Characteristics |
| 3 | +titleSuffix: Azure Blob Storage |
| 4 | +author: vigneshgo |
| 5 | +ms.date: 02/07/2025 |
| 6 | +description: Best Practices and Guidance on configuring Azure Blob Storage lifecycle management policies and factors influencing its performance |
| 7 | +ms.author: normesta |
| 8 | +ms.service: azure-blob-storage |
| 9 | +ms.topic: reference |
| 10 | +ms.custom: references_regions, engagement-fy23 |
| 11 | +--- |
| 12 | + |
| 13 | +# Lifecycle Management Performance Characteristics |
| 14 | + |
| 15 | +Azure Blob Storage Lifecycle Management (LCM) helps you automate the transition of objects to lower-cost access tiers, or to delete objects at the end of their lifecycle to reduce storage costs. If a policy is active, Lifecycle Management periodically processes the objects in a storage account that match the filter set and rules specified in the lifecycle policy. The time required for a policy to complete processing a storage account depends on many factors like the number of objects to be evaluated and operated on, customer workloads on the account, availability of storage resources and more. In some cases, it can take multiple days to complete processing all the objects in the storage account. And a new LCM run begins only after the ongoing run completes. LCM is constantly optimizing for speed of execution while keeping these factors in mind. |
| 16 | + |
| 17 | +## Factors Influencing Lifecycle Management Performance |
| 18 | +There are many factors that influence the execution time that Lifecycle Management would take to process the objects in a single storage account. |
| 19 | + |
| 20 | +Lifecycle Management processes the subset of objects in the storage account that users scope by creating filter sets (prefix or file path) using lifecycle policies. If there is no specific scope or it is too broad, Lifecycle Management may need to process a large number of objects, which could increase the time required for the policy to complete. If a significant percentage of objects meet the policy conditions it could also increase the processing time. This is especially true the first time the LCM policy is enabled on the storabge account. |
| 21 | + |
| 22 | +All requests made to storage account, including requests made by Lifecycle policy runs, accrue to the same limit on requests per second. As that request limit is approached, priority is given to requests made by customomer workloads. The latency of processing objects also increases if the scalability and performance limits of the storage account are reached. This latency in LCM should be considered when deciding operations that need to be performed within specific time frames. Learn more about [Scalability and performance targets for standard storage accounts](../common/scalability-targets-standard-account.md). |
| 23 | + |
| 24 | +By prioritizing customer workloads, Lifecycle Management ensures that these workloads run with minimal to no interruptions. However, it can impact the rate of objects processed by Lifecycle Management. In such cases it is possible that the rate of object creation and modification is higher than the rate at which Lifecycle Management can process the storage account. |
| 25 | + |
| 26 | +Policy conditions are assessed on each object only once during a policy run. In some cases, an object might meet the condition after it was already assessed by a run. Such objects are processed in subsequent runs. |
| 27 | + |
| 28 | +Any of these conditions could cause Lifecycle Management to take multiple days to complete the processing of objects in a storage account. This could result in a growth in the storage capacity and objects taking longer to process than in the time period defined in the policy. |
| 29 | + |
| 30 | +## Best Practices to Improve Lifecycle Management Performance |
| 31 | + |
| 32 | +### Narrow the Scope of the Lifecycle Policy |
| 33 | +In cases where Lifecycle Management is taking a long time to complete a run, it is advisable to apply filter sets to narrow the scope of the search and evaluation. This can be done by adding Prefixes and/or Blob Index tags while authoring the lifecycle rules. A narrowed scope enables Lifecycle Management to optimize the operations. |
| 34 | + > [!TIP] |
| 35 | +> Use [Azure Storage Copilot](/azure/copilot/improve-storage-accounts#reduce-storage-costs) to help configure an Lifecycle Management policy. |
| 36 | +
|
| 37 | +### Optimize for Storage and Transactions costs |
| 38 | + |
| 39 | +It may be more cost effective for the small objects to stay in their current tier, than paying transaction costs to move them to cheaper storage tiers. Avoid moving small files to lower tiers, unless required. [Learn more](access-tiers-best-practices#pack-small-files-before-moving-data-to-cooler-tiers.md) about choosing the right storage tier. |
| 40 | + > [!TIP] |
| 41 | +> [Azure Storage Actions](../../storage-actions/overview.md) supports size-based object targeting, and tiering/deleting operations. |
| 42 | +
|
| 43 | +### Set appropriate Time-based Rules |
| 44 | +Avoid policy conditions using a short duration between object Creation/Modification/Last Access time and the intended operation by the policy. Lifecycle Management can take up to 24 hours to begin processing once the prior run is completed. Policy changes and updates can also take up to 24 hours to go into effect. This includes deleting all the rules to make a policy inactive. Policies that take multiple days to complete may not operate on objects evaluated earlier in the run but meet the conditions over the run period. |
| 45 | + |
| 46 | +### Be Aware of Scalability and Performance limits |
| 47 | +The request rate and bandwidth of your storage account depend on object size, access patterns, and workload type. Lifecycle Management may experience a slower rate of processing objects during high traffic workloads. If you consistently notice the storage account reaching the account limits and a slowdown in Lifecycle management processing, request an increase in account limits. Lifecycle management performance may improve based on the resource allocation by workload prioritization. Contact [Azure Support](https://azure.microsoft.com/support/faq/) to request an increase. |
| 48 | + |
| 49 | +### Setup Troubleshooting and Monitoring |
| 50 | +Periodically evaluating the performance of your Lifecycle Management Policy is recommended. Setup [Event Grid Notifications](../../event-grid/blob-event-quickstart-portal.md) to get notified on when an Lifecycle Management run completed. Use Storage Logs in [Azure Monitor](monitor-blob-storage.md) to dive into run details. |
| 51 | + |
| 52 | +## Next Steps |
| 53 | +- [Blob Storage FAQ](storage-blob-faq.yml) |
| 54 | +- [Configure a lifecycle management policy](lifecycle-management-policy-configure.md) |
| 55 | +- [Plan and manage Costs for Blob Storage](../../common/storage-plan-manage-costs.md) |
0 commit comments