Políticas de desalojo utilizando el recolector de basura de memoria caché de disco
El recolector de basura de memoria caché de disco es responsable de desalojar los objeto de la memoria caché de disco, basándose en una política de desalojo específica.
El recolector de basura mantiene una cierta cantidad de espacio en disco disponible, que se rige por el atributo de configuración que limita la cantidad de espacio en disco utilizado para colocar en memoria caché los objetos. Para habilitar la política de desalojo, habilite las opciones Tamaño límite de memoria caché de disco en GB o Tamaño límite de memoria caché de disco en entradas en la consola administrativa.
- Ninguna: es la política por omisión. Los objetos sólo se desalojan cuando caducan o se invalidan.
- Aleatoria: primero se eliminan los objetos caducados. Si el tamaño de disco todavía no ha alcanzado el límite de umbral mínimo, los objetos se escogen de la memoria caché de disco en un orden aleatorio y se eliminan hasta que el tamaño de disco alcanza un límite de umbral mínimo.
- Por tamaño: primero se eliminan los objetos caducados. Si el tamaño de disco todavía no ha alcanzado el límite de umbral mínimo, los objetos de mayor tamaño se eliminan hasta que el tamaño de disco alcanza un límite de umbral mínimo.
Las opciones Tamaño límite de memoria caché de disco en GB y Umbral alto determinan cuándo se va a desencadenar el desalojo y cuándo se va a considerar que la memoria caché de disco está casi llena. Se calcula como una función del límite especificado por el usuario. Si el límite especificado es 10 GB (3 GB es el mínimo), el subsistema de memoria caché crea inicialmente tres archivos que pueden crecer hasta un 1 GB en tamaño para los datos de memoria caché, información de ID de dependencia y la información de plantilla. A medida que se necesite más espacio para contener los datos de memoria caché, la información de ID de dependencia o la información de plantilla, se creará un nuevo archivo. Estos archivos crecen hasta alcanzar un 1 GB cada uno hasta que el número total de archivos creados es igual al tamaño en GB de la memoria caché de disco (10, en este caso). Aunque el tamaño inicial del nuevo archivo puede estar muy por debajo de 1 GB, el servicio de memoria caché dinámica lo redondea hasta el siguiente GB.
El desalojo se desencadena cuando el tamaño de datos de memoria caché alcanza el umbral máximo y continúa hasta que el tamaño de datos de memoria caché alcanza el umbral mínimo. El cálculo del tamaño de datos de memoria caché es dinámico. La siguiente fórmula describe cómo se calcula el tamaño límite actual de datos de memoria caché:
tamaño límite de datos de memoria caché = tamaño de
memoria caché de disco (en GB) - número de archivos de dependencia por GB -
número de archivos de plantilla
Cuando se define el tamaño límite de datos de memoria caché, el punto
de desencadenante se calcula del siguiente modo:punto de
desencadenante de desalojo = tamaño límite de datos de memoria caché *
umbral alto
tamaño de entradas desalojas = tamaño de datos de memoria caché * (umbral alto - umbral bajo)
- Caso de ejemplo 1
- Tamaño de memoria caché de disco en GB = 10 GB
- Umbral alto = 90%
- Umbral bajo = 80%
Inicialmente, hay un archivo para los ID de dependencia e ID de plantilla.
En el caso de ejemplo anterior, el desalojo se inicia cuando el tamaño de datos de antememoria alcanza 7.2 GB y continúa hasta que el tamaño de antememoria es 6.4 GB (7.2 - 0.8).tamaño límite de datos de memoria caché = 10-(1+1) = 8 GB punto de desencadenante de desalojo = 8 * 90% = 7.2 GB tamaño de entradas desalojadas = 8 * (90% - 80%) = 0.8 GB
- Caso de ejemplo 2En el caso de ejemplo 1, si los archivos de dependencia crecen más de 1 GB, se genera un archivo de dependencia adicional. El punto de desencadenante de desalojo se inicia dinámicamente del siguiente modo:
En el caso de ejemplo anterior, el desalojo se inicia cuando el tamaño de datos de antememoria alcanza 6.3 GB y continúa hasta que el tamaño de antememoria es 5.6 GB (6.3 - 0.7).tamaño límite de datos de memoria caché = 10 - (2+1) = 7GB punto de desencadenante de desalojo = 7 * 90% = 6.3GB tamaño de entradas desalojadas = 7 * (90% - 80%) = 0.7GB
- Tamaño de memoria caché de disco en entradas = 100000
- Umbral alto = 90%
- Umbral bajo = 80%
punto de desencadenante de desalojo = 100000 * 90% = 90000
número de entradas desalojadas = 100000 * (90% - 80%) = 10000
En
este caso de ejemplo, el desalojo se inicia cuando el número de entradas
de memoria caché alcanza 90000 y se eliminan 10000 entradas de la
memoria caché.