Saltar al contenido principal

Descripción general

La caché de páginas en espacio de usuario es un nuevo mecanismo de caché que permite almacenar en caché datos en la memoria del proceso, en lugar de depender de la caché de páginas del SO.
ClickHouse ya ofrece la caché del sistema de archivos como una forma de caché sobre almacenamiento remoto de objetos, como Amazon S3, Google Cloud Storage (GCS) o Azure Blob Storage. La caché de páginas en espacio de usuario está diseñada para acelerar el acceso a datos remotos cuando la caché normal del SO no resulta suficiente. Se diferencia de la caché del sistema de archivos en los siguientes aspectos:
Caché del sistema de archivosCaché de páginas en espacio de usuario
Escribe datos en el sistema de archivos localSolo está presente en memoria
Ocupa espacio en disco (también configurable en tmpfs)Es independiente del sistema de archivos
Sobrevive a los reinicios del servidorNo sobrevive a los reinicios del servidor
No aparece en el uso de memoria del servidorAparece en el uso de memoria del servidor
Adecuada tanto para disco como para memoria (caché de páginas del SO)Buena para servidores sin disco

Opciones de configuración y uso

Uso

Para habilitar la caché de páginas en espacio de usuario, primero configúrala en el servidor:
cat config.d/page_cache.yaml
page_cache_max_size: 100G
La caché de páginas en espacio de usuario usará hasta la cantidad de memoria especificada, pero esta cantidad de memoria no está reservada. La memoria se liberará cuando sea necesaria para otras necesidades del servidor.
A continuación, habilite su uso a nivel de consulta:
SET use_page_cache_for_disks_without_file_cache=1;

Configuración

AjusteDescripciónPredeterminado
use_page_cache_for_disks_without_file_cacheUsa la caché de páginas en espacio de usuario para discos remotos que no tienen habilitada la caché del sistema de archivos.0
use_page_cache_with_distributed_cacheUsa la caché de páginas en espacio de usuario cuando se utiliza Distributed Cache.0
read_from_page_cache_if_exists_otherwise_bypass_cacheUsa la caché de páginas en espacio de usuario en modo pasivo, de forma similar a read_from_filesystem_cache_if_exists_otherwise_bypass_cache.0
page_cache_inject_evictionLa caché de páginas en espacio de usuario invalidará algunas páginas aleatoriamente de vez en cuando. Pensado para pruebas.0
page_cache_block_sizeTamaño, en bytes, de los fragmentos de archivo que se almacenarán en la caché de páginas en espacio de usuario. Todas las lecturas que pasen por la caché se redondearán al alza a un múltiplo de este tamaño.1048576
page_cache_history_window_msRetraso antes de que la memoria liberada pueda volver a ser utilizada por la caché de páginas en espacio de usuario.1000
page_cache_policyNombre de la política de la caché de páginas en espacio de usuario.SLRU
page_cache_size_ratioTamaño de la cola protegida de la caché de páginas en espacio de usuario en relación con el tamaño total de la caché.0.5
page_cache_min_sizeTamaño mínimo de la caché de páginas en espacio de usuario.104857600
page_cache_max_sizeTamaño máximo de la caché de páginas en espacio de usuario. Establécelo en 0 para deshabilitar la caché. Si es mayor que page_cache_min_size, el tamaño de la caché se ajustará continuamente dentro de este rango para usar la mayor parte posible de la memoria disponible, manteniendo el uso total de memoria por debajo del límite (max_server_memory_usage[_to_ram_ratio]).0
page_cache_free_memory_ratioFracción del límite de memoria que debe mantenerse libre de la caché de páginas en espacio de usuario. Análogo al ajuste de Linux min_free_kbytes.0.15
page_cache_lookahead_blocksSi se produce un fallo de caché en la caché de páginas en espacio de usuario, lee de una vez desde el almacenamiento subyacente hasta esta cantidad de bloques consecutivos, si tampoco están en la caché. Cada bloque tiene un tamaño de page_cache_block_size bytes.16
page_cache_shardsDistribuye la caché de páginas en espacio de usuario entre esta cantidad de segmentos para reducir la contención de mutex. Experimental; es poco probable que mejore el rendimiento.4
Última modificación el 10 de junio de 2026