8.9. Estadísticas de Glock
GFS2 mantiene estadísticas que pueden ayudar a rastrear lo que está sucediendo dentro del sistema de archivos. Esto le permite detectar problemas de rendimiento.
GFS2 mantiene dos contadores:
-
dcount
, que cuenta el número de operaciones DLM solicitadas. Esto muestra cuántos datos han entrado en los cálculos de la media/varianza. -
qcount
, que cuenta el número de operaciones de nivelsyscall
solicitadas. Generalmenteqcount
será igual o mayor quedcount
.
Además, GFS2 mantiene tres pares de media/varianza. Los pares media/varianza son estimaciones exponenciales suavizadas y el algoritmo utilizado es el que se emplea para calcular los tiempos de ida y vuelta en el código de red.
Los pares de media y varianza mantenidos en GFS2 no están escalados, sino que están en unidades de nanosegundos enteros.
- srtt/srttvar: Tiempo de ida y vuelta suavizado para operaciones no bloqueantes
- srttb/srttvarb: Tiempo de ida y vuelta suavizado para operaciones de bloqueo
- irtt/irttvar: Tiempo entre peticiones (por ejemplo, tiempo entre peticiones DLM)
Una petición no bloqueante es aquella que se completará inmediatamente, sea cual sea el estado del bloqueo DLM en cuestión. Esto significa actualmente cualquier petición cuando (a) el estado actual del bloqueo es exclusivo (b) el estado solicitado es nulo o desbloqueado o (c) la bandera "try lock" está activada. Una solicitud de bloqueo cubre todas las demás solicitudes de bloqueo.
Los tiempos más grandes son mejores para los IRTT, mientras que los tiempos más pequeños son mejores para los RTT.
Las estadísticas se guardan en dos archivos sysfs
:
-
El archivo
glstats
. Este archivo es similar al archivoglocks
, excepto que contiene estadísticas, con un glock por línea. Los datos se inicializan a partir de datos "por cpu" para el tipo de reloj para el que se crea el reloj (aparte de los contadores, que se ponen a cero). Este archivo puede ser muy grande. -
El archivo
lkstats
. Contiene estadísticas "por cpu" para cada tipo de glock. Contiene una estadística por línea, en la que cada columna es un núcleo de cpu. Hay ocho líneas por tipo de reloj, con los tipos que se suceden.