Para realizar un estudio de tuning es util la la creación de snapshots para capturar información de distintas estructuras/componentes de la instancia de base de datos.
En este articulo mostramos como se pueden utilizan para realizar un análisis de tuning.
Lo primero de todo, es tener activos los monitor switches que van recolectando datos de las distintas estructuras.
El estado de los monitores se pueden consultar de este modo:
db2pqr 2> db2 -v get monitor switches Monitor Recording Switches Switch list for db partition number 0 Buffer Pool Activity (BUFFERPOOL) = ON 01/19/2012 18:10:56.183312 Lock Information (LOCK) = ON 01/19/2012 18:10:56.183312 Sorting Information (SORT) = ON 01/19/2012 18:10:56.183312 SQL Statement Information (STATEMENT) = ON 01/19/2012 18:10:56.183312 Table Activity Information (TABLE) = ON 01/19/2012 18:10:56.183312 Take Timestamp Information (TIMESTAMP) = ON 01/19/2012 18:10:56.183312 Unit of Work Information (UOW) = ON 01/19/2012 18:10:56.183312
En caso de que esten desactivados, se pueden activar mediante la sentencia “update monitor switches”, o a través de “update dbm config”:db2 -v update monitor switches using bufferpool on
db2 -v update monitor switches using lock on db2 -v update monitor switches using sort on db2 -v update monitor switches using statement on db2 -v update monitor switches using table on db2 -v update monitor switches using timestamp on db2 -v update monitor switches using UOW on
Una manera de realizar un estudio de tuning podría consistir en:
1. Verificar estado monitores
2. Reset de todas las métricas
3. Lanzamiento de los procesos/querys que se quieran estudiar, o simplemente el trabajo normal de la base de datos
4. Lanzamiento de los snapshots apropiados
Reset de todas las métricas:
db2 -v reset monitor all
Lanzamiento de los distintos tipos de snapshots: (habitualmente para problemas de rendimiento con los de dbm/db/bufferpool es suficiente)
Locks
db2 get snapshot for locks on pqr
Database Manager db2 get snapshot for dbm Database db2 get snapshot for database on pqr Tablespace db2 get snapshot for tablespaces on pqr Bufferpool db2 get snapshot for bufferpools on pqr Applicationes db2 get snapshot for applications on pqr Dynamic SQL db2 get snapshot for dynamic sql on pqr Tablas db2 get snapshot for tables on pqr