Configuring Blob Storage Auto Cleanup
Optimizer Hub uses your cloud provider’s blob storage as the main persistence mechanism. Artifacts persisted to blob storage are:
-
ReadyNow Orchestrator: saved profile logs.
-
Code Cache: previously performed compilations.
Optimizer Hub includes auto cleaner mechanisms to clean up unused data. Cleanup for ReadyNow profile logs and Code Cache entries are configured separately.
Code Cache Cleanup
You specify the target size for the blob storage that Optimizer Hub should not exceed, as well as how often Optimizer Hub should check if cleaning is necessary.
The following are the default values, which you can modify in your values-override.yaml
file:
codeCache:
cleaner:
enabled: true
targetSize: "107374182400" # 100GiB, use quotes for large numbers
interval: PT2H # 2 hours
ReadyNow Profile Log Cleanup
ReadyNow Orchestrator performs automatic cleanup of unused profile logs in order to fit collected data in the configured storage. When the data size in your storage exceeds a threshold, ReadyNow Orchestrator deletes old profile logs, thus guaranteeing that a promoted profile log is available for all profile names.
The following are the default values, which you can modify in your values-override.yaml
file:
readyNowOrchestrator:
cleaner:
enabled: true
externalPersistentStorageSoftLimit: "10Gi"
targetSize: 0 # use only to override auto-settings
warningSize: 0 # use only to override auto-settings
keepUnrequestedProfileNamesFor: 0
keepDebugOnlyGenerationProfilesFor: "P7D"
You can configure ReadyNow Orchestrator to delete unused profile names completely after a given duration using the keepUnrequestedProfileNamesFor
property in your values-override.yaml
. For example, to keep unused profiles for 5 days, use the following:
readyNowOrchestrator.cleaner.keepUnrequestedProfileNamesFor=P5D
Note
|
Depending on your usage, ReadyNow Orchestrator’s clean-up mechanism may not be able to keep the actual size of your stored profiles below the size of your storage when not enough profiles can be cleaned up. When you reach 90% usage, a warning is printed in the log of the gateway service. In that case, you need to increase the externalPersistentStorageSoftLimit .
|
If your storage fills up completely, JVMs attempting to write to ReadyNow Orchestrator receive an error.
How ReadyNow Storage Gets Cleaned
By default, the ReadyNow profile log auto cleaner follows these steps:
-
For each profileName: deletes all the profiles that are not promoted at this time. The cleaner keeps the five last-used profileLogs. It only deletes enough profileLogs to get under
targetSize
.-
The currently promoted profiles will never be deleted.
-
-
Deletes all debug only profileLogs, meaning profileLogs with a generation higher than
readyNowOrchestrator.producers.maxPromotableGeneration
, if they have not been accessed longer than the period defined inkeepDebugOnlyGenerationProfilesFor
.-
Can delete all of these debug profileLogs, but only deletes enough to get under
targetSize
.
-
-
Deletes any completely unrequested profileNames.
-
Will delete all of them, regardless of
targetSize
.
-