Consultar el uso de SLRU en PostgreSQL con pg_stat_slru

El artículo interpreta blks_zeroed, blks_hit, blks_read y stats_reset en pg_stat_slru, distingue las lecturas de la caché de las lecturas físicas y muestra cómo filtrar una estructura.

Ilustración de pg_stat_slru y sus contadores HIT, READ y ZERO en PostgreSQL.

¿Cómo comprobar si PostgreSQL está leyendo bloques de sus estructuras SLRU? Consulta pg_stat_slru: muestra por estructura los bloques encontrados en memoria y los leídos, junto con el momento en que se reiniciaron las estadísticas.

Consultar las estadísticas

La vista pg_stat_slru ofrece contadores acumulados para cada estructura SLRU (Simple Least Recently Used) que utiliza PostgreSQL.

SELECT name, blks_zeroed, blks_hit, blks_read, stats_reset
FROM pg_stat_slru
ORDER BY name;

blks_hit cuenta bloques encontrados en la caché SLRU; blks_read, bloques leídos para esa estructura. No equivale a lecturas físicas del dispositivo: el sistema operativo puede atenderlas desde su propia caché. blks_zeroed cuenta bloques puestos a cero durante inicializaciones y stats_reset indica cuándo se reiniciaron estos contadores.

Filtrar una estructura

Para observar, por ejemplo, los contadores de la estructura transaction:

SELECT name, blks_hit, blks_read, stats_reset
FROM pg_stat_slru
WHERE name = 'transaction';

Compara los contadores en dos momentos; una lectura aislada no indica una tasa. La vista informa actividad acumulada desde el último reinicio, no el tamaño actual de los ficheros.