[AIX Solaris HP-UX Linux Windows][z/OS]

Parámetros de ajuste de DB2

Lea este tema para obtener información acerca de los parámetros que puede configurar para mejorar el rendimiento de la base de datos.

Para obtener información completa acerca del ajuste de DB2, consulte el Manual DB2 UDB Administration Guide: Performance.

[AIX]Para obtener más información acerca de cómo utilizar AIX con DB2, consulte el tema Ajuste de sistemas AIX.

Registro cronológico de DB2

DB2 tiene los archivos de registro correspondientes a cada base de datos que proporciona servicios a los administradores, incluida la visualización del acceso a la base de datos y el número de conexiones. Para los sistemas con varias unidades de disco duro, se puede conseguir un gran aumento del rendimiento si se establecen los archivos de anotaciones cronológicas de cada base de datos en una unidad de disco duro diferente a la de los archivos de la base de datos.

  • Cómo ver o definir: en un indicador de mandatos de DB2, emita el mandato: db2 update db cfg for [nombre_base_datos] using newlogpath [vía_acceso_completa].
  • Valor predeterminado: los registros residen en el mismo disco que la base de datos.
  • Valor recomendado: utilice una unidad de alta velocidad individual, preferiblemente de rendimiento mejorado a través de una configuración de RAID (matriz redundante de configuración de disco).

Recomendación de configuración de DB2

Ubicado en el Centro de control de DB2, estas recomendaciones calculan y visualizan los valores recomendados para el tamaño de agrupación de almacenamiento intermedio de DB2, la base de datos y los parámetros de configuración del gestor de base de datos, proporcionando la opción de aplicar estos valores. Puede encontrar más información sobre estas recomendaciones en el recurso de ayuda en línea del Centro de control.

Número de conexiones a DB2 - MaxAppls y MaxAgents

Al configurar los valores del origen de datos para las bases de datos, compruebe que el valor MaxAppls de DB2 es mayor que el número máximo de conexiones para el origen de datos. Si ha pensado establecer clones, el valor de MaxAppls debe ser el número máximo de conexiones multiplicado por el número de clones. La misma relación se aplica al número de conexiones del gestor de sesiones. El valor de MaxAppls debe ser igual o mayor que el número de conexiones. Si está utilizando la misma base de datos para los orígenes de datos y sesión, establezca el valor de MaxAppls como la suma del valor del número de conexiones para el Gestor de sesiones y los orígenes de datos.

Por ejemplo, MaxAppls = (número de conexiones establecido para el origen de datos + número de conexiones en el gestor de sesiones) multiplicado por el número de clones.

Tras calcular los valores de MaxAppls para la base de datos de WebSphere Application Server y cada una de las bases de datos de aplicaciones, compruebe que el valor de MaxAgents para DB2 sea igual o mayor que la suma de todas los valores de MaxAppls. Por ejemplo, MaxAgents = suma de las MaxAppls para todas las bases de datos.

Buffpage de DB2

Mejora el rendimiento del sistema de la base de datos. Buffpage es un parámetro de configuración de base de datos. Una agrupación de almacenamiento intermedio es un área de almacenamiento de memoria en la que las páginas de bases de datos contienen filas de tablas o entradas de índices que se leen y cambian temporalmente. Se accede a los datos mucho más rápido desde la memoria que desde el disco.

  • Cómo ver o establecer: Para ver el valor actual de la buffpage para la base de datos x, emita el mandato de DB2 get db cfg for x y busque el valor BUFFPAGE. Para establecer BUFFPAGE en un valor de n, emita el mandato de DB2 update db cfg for x utilizando BUFFPAGE n y establezca NPAGES en -1 del modo siguiente:
    db2   <-- go to DB2 command mode, de lo contrario, el siguiente "select" no funciona como es
        connect to x    <-- (donde x es el nombre concreto de la base de datos DB2) 
        select * from syscat.bufferpools 
           (y anote el nombre del valor predeterminado, que quizá sea IBMDEFAULTBP)
           (si NPAGES ya es -1, no es necesario emitir el mandato siguiente) 
        alter bufferpool IBMDEFAULTBP size -1
        (vuelva a emitir el anterior "select" y ahora NPAGES es igual -1)
    Puede obtener un estado instantáneo de la base de datos mientras se está ejecutando la aplicación y calcular la proporción de acierto de la agrupación del almacenamiento intermedio.
    1. Obtenga el estado instantáneo:
      1. Emita el mandato de supervisiIssue the update monitor switches using bufferpool on command.
      2. Asegúrese de que la supervisión de bufferpool esté activada emitiendo el mandato get monitor switches.
      3. Borre los contadores del supervisor con el mandato reset monitor all.
    2. Ejecute la aplicación.
    3. Emita el mandato get snapshot for all databases antes de que se desconecten todas las aplicaciones de la base de datos, de lo contrario, se pierden las estadísticas.
    4. Emita el mandato update monitor switches using bufferpool.
    5. Calcule la proporción de aciertos observando la siguiente estadística del estado instantáneo de la base de datos:
      • Lecturas lógicas de datos de agrupación de almacenamiento intermedio (Buffer pool data logical reads)
      • Lecturas físicas de datos de agrupación de almacenamiento intermedio (Buffer pool data physical reads)
      • Lecturas lógicas de índices de agrupación de almacenamiento intermedio (Buffer pool index logical reads)
      • Lecturas físicas de índices de agrupación de almacenamiento intermedio (Buffer pool index physical reads)
  • Valor predeterminado: 250
  • Valor recomendado: siga aumentando el valor hasta que la instantánea muestre una cadencia de aciertos satisfactoria.
La proporción de aciertos de la agrupación del almacenamiento intermedio (buffer pool hit ratio) indica el porcentaje de tiempo que el gestor de la base de datos no ha tenido que cargar del disco para servir una solicitud de página. Esto es, la página ya está en la agrupación del almacenamiento intermedio. Cuanto mayor sea la proporción de aciertos de la agrupación del almacenamiento intermedio, menor será la frecuencia de la entrada y la salida del disco. Calcule la proporción de aciertos de la agrupación del almacenamiento intermedio de la siguiente manera:
  • P = Lecturas físicas de datos de agrupación de almacenamiento intermedio + Lecturas físicas de índices de agrupación de almacenamiento intermedio
  • L = Lecturas lógicas de datos de agrupación de almacenamiento intermedio + Lecturas lógicas de índices de agrupación de almacenamiento intermedio
  • Proporción de aciertos (Hit ratio) = (1-(P/L)) * 100%

Nivel de optimización de consulta de DB2

Establece la cantidad de trabajo y los recursos que DB2 utiliza para optimizar el plan de acceso. Cuando se ejecuta una consulta de base de datos en DB2, se utilizan varios métodos para calcular el plan de acceso más eficaz. El rango varía entre 0 y 9. Un nivel de optimización de 9 hace que DB2 asigne mucho tiempo y todas sus estadísticas disponibles para optimizar el plan de acceso.

  • Cómo ver o establecer: el nivel de optimización se establece en bases de datos individuales y se puede establecer con la línea de mandatos o con el centro de control de DB2. Las sentencias de SQL estáticas utilizan el nivel de optimización especificado en los mandatos prep y bind. Si no se ha especificado el nivel de optimización, DB2 utiliza la optimización predeterminada según se especifica con el valor dft_queryopt. Las sentencias SQL dinámicas utilizan la clase de optimización especificada por el registro especial de optimización de consultas actual, que se establece utilizando la sentencia Set de SQL. Por ejemplo, la sentencia siguiente establece la clase de optimización en 1:
    Set current query optimization = 1
    Si no se establece el registro de optimización de consulta actual, las sentencias dinámicas se enlazan utilizando la clase de optimización de consulta predeterminada.
  • Valor predeterminado: 5
  • Valor recomendado: establezca el nivel de optimización para las necesidades de la aplicación. Utilice sólo niveles altos cuando haya consultas muy complicadas.

Reorgchk de DB2

Obtiene la estadística actual para los datos y para volver a enlazar. Utilice este parámetro ya que el rendimiento de la sentencia SQL puede disminuir después de muchas operaciones de actualizar, suprimir o insertar.

  • Cómo ver o establecer: utilice el mandato DB2 reorgchk update statistics on table all para realizar la operación runstats en todas las tablas de sistema y usuario para la base de datos a la que está conectado actualmente. Vuelva a enlazar los paquetes utilizando el mandato bind. Si las estadísticas están disponibles, emita el mandato db2 -v "select tbname, nleaf, nlevels, stats_time from sysibm.sysindexes" en DB2 CLP. Si no existen actualizaciones de estadística. nleaf y nlevels son -1, y stats_time tiene una entrada vacía (por ejemplo: "-"). Si se ha ejecutado anteriormente el mandato runstats, en stats_time también se visualizará la indicación de la hora en tiempo real en que se completó la operación de runstats. Si piensa que la hora que se muestra es de una ejecución anterior de la operación de runstats, ejecute el mandato runstats de nuevo.
  • Valor predeterminado: Ninguno
  • Valor recomendado: ninguno

Tiempo de espera de bloqueo de DB2

Especifica el número de segundos que espera una aplicación para obtener un bloqueo. El establecimiento de esta propiedad sirve para evitar puntos muertos globales en las aplicaciones.

  • Cómo ver o establecer: para ver el valor actual de la propiedad de tiempo de espera de bloqueo para la base de datos xxxxxx, emita el mandato DB2 get db cfg for xxxxxx y busque el valor, LOCKTIMEOUT. Para establecer LOCKTIMEOUT en un valor de n, emita el mandato DB2 update db cfg for xxxxxx utilizando LOCKTIMEOUT n, donde xxxxxx es el nombre de la base de datos de la aplicación y n es un valor entre 0 y 30 000 inclusive.
  • Valor predeterminado: -1, que significa que la detección de tiempo de espera de bloqueo está desactivada. Ante esta situación, una aplicación espera un bloqueo si no hay uno disponible en el momento de la solicitud hasta que ocurre uno de los siguiente sucesos:
    • Se otorga el bloqueo
    • Se produce un punto muerto
  • Valor recomendado: si el patrón de acceso de base de datos tiende a una mayoría de grabaciones, establezca este valor de forma que le avise lo antes posible cuando se produzca un tiempo de espera. Un valor de 30 segundo cumple perfectamente este objetivo. Si el patrón tiende a una mayoría de lecturas, acepte el valor de tiempo de espera de bloqueo predeterminado o bien establezca la propiedad en un valor mayor que 30 segundo.

DB2 maxlocks (Número máximo de bloqueos de DB2)

Especifica el porcentaje de la lista de bloqueo que se alcanza cuando el gestor de la base de datos realiza la escalada, de fila a tabla, de los bloqueos que mantiene la aplicación. Aunque el proceso de escalada no requiere mucho tiempo, el bloqueo de tablas enteras en lugar de filas individuales reduce la simultaneidad y, potencialmente, el rendimiento global de la base de datos para posteriores intentos de acceso a las tablas afectadas.

  • Cómo ver o establecer: para ver el valor actual de la propiedad maxlocks para la base de datosxxxxxx, emita el mandato DB2 get db cfg for xxxxxx y busque el valor MAXLOCKS. Para establecer MAXLOCKS en un valor de n, emita el mandato DB2 update db cfg for xxxxxx utilizando MAXLOCKS n, donde xxxxxx es el nombre de la base de datos de la aplicación y n es un valor entre 1 y 100 inclusive.
  • Valor predeterminado: consulte la información de la base de datos actual para ver los valores predeterminados de propiedad por sistema operativo.
  • Valor recomendado: si los escalamientos de bloqueo están provocando problemas de rendimiento, es posible que deba aumentar el valor de este parámetro o el parámetro locklist, que se describe en el siguiente párrafo. Puede utilizar el supervisor del sistema de la base de datos para determinar si se están produciendo las escaladas de bloqueos.

DB2 locklist (Lista de bloqueos de DB2)

Especifica la cantidad de almacenamiento que se asigna a la lista de bloqueos.

  • Cómo ver o establecer: para ver el valor actual de la propiedad locklist para la base de datos xxxxxx, emita el mandato DB2 get db cfg for xxxxxx y busque el valor LOCKLIST. Para establecer LOCKLIST en un valor de n, emita el mandato DB2 update db cfg for xxxxxx utilizando LOCKLIST n, donde xxxxxx es el nombre de la base de datos de la aplicación y n es un valor entre 4 y 60 000 inclusive.
  • Valor predeterminado: consulte la información de la base de datos actual para ver los valores predeterminados de propiedad por sistema operativo.
  • Valor recomendado: si los escalamientos de bloqueo están provocando problemas de rendimiento, es posible que tenga que aumentar el valor de este parámetro o el parámetro maxlocks, que se describe en el párrafo anterior. Puede utilizar el supervisor del sistema de la base de datos para determinar si se están produciendo las escaladas de bloqueos. Consulte el documento DB2 Administration Guide: Performance si desea más detalles.

Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rprf_db2parameters
File name: rprf_db2parameters.html