ARTICULO: Ajustar de forma dinámica los valores de lru_min_dirty y lru_max_dirty en Informix

Como parte de un ajuste fino manual en Informix podemos desear cambiar los valores de lru_min_dirty y lru_max_dirty. Esto no es posible de forma oficial pero existe una opción no documentada que nos permite hacerlo.

Para ello comenzamos con AUTO_LRU_TUNING en off. Ahora imaginemos que queremos disponer de unos valores como los siguientes para todos los buffer pools:

lru_min_dirty=30
lru_max_dirty=60

Para ello debemos hacer lo siguiente:

onmode -wm AUTO_LRU_TUNING=»1,min=30,max=60″
onmode -wm AUTO_LRU_TUNING=0

A pesar de volver a poner AUTO_LRU_TUNING a off de nuevo los valores que hemos establecido para lru_min_dirty y lru_max_dirty debería de quedar establecidos. Podemos comprobarlo con onstat -R.

Ahora supongamos que no queremos cambiar todos los buffer pool sino únicamente uno en concreto. Para ello partimos de nuevo de una situación con AUTO_LRU_TUNING en off y hacemos lo siguiente:

onmode -wm AUTO_LRU_TUNING=»1,bpool=0,min=30,max=60″
onmode -wm AUTO_LRU_TUNING=0

Los números de bpool son fijos y van de 0 a 7 en sistemas de 2k y de 0 a 3 en sistemas de 4k. Estos valores son fijos independientemente del número de buffer pool que tengamos definidos. Es decir, el buffer pool de 2k siempre es el 0 mientras que el de 16k siempre es el 7 en sistemas de 2k mientras que en sistemas de 4k tendríamos que el de 4k es el 0 y el de 16k es el 3.

Proyectos y soluciones
Proyectos y soluciones
Artículos: 97