Evaluación del valor de DSMAX

Es posible que tenga que aumentar el valor del parámetro de subsistema DSMAX para evitar operaciones de E/S que no son necesarias.

Procedimiento

Para evaluar si es necesario modificar el valor del parámetro de subsistema DSMAX, utilice los métodos siguientes:

  • Especifique un valor para el parámetro de subsistema DSMAX que sea mayor que el número máximo de conjuntos de datos abiertos y en uso en un momento dado.
    • Para obtener el recuento más preciso de los conjuntos de datos abiertos, consulte la sección ACTIVIDAD DE APERTURA/CIERRE del informe estadístico de IBM® OMEGAMON® for Db2 Performance Expert on z/OS® . Asegúrese de que se haya ejecutado el rastreo de estadísticas durante un periodo punta, para poder obtener el cálculo máximo más preciso.
    • El mejor indicador de cuándo se debe aumentar el valor del parámetro de subsistema DSMAX es cuando la actividad de apertura y cierre de conjuntos de datos es alta. La directriz general es uno por segundo. SER.TASK Consulte el valor OPEN/CLOSE (ABIERTO/CERRADO) en la sección SWITCH (INTERRUPTOR) de la cuenta de IBM OMEGAMON for Db2 Performance Expert on z/OS o NUMBER OF DATASET OPENS (NÚMERO DE CONJUNTOS DE DATOS ABIERTOS) en las estadísticas de la memoria intermedia (que proporciona las estadísticas de memorias intermedias específicas). Tenga en cuenta la posibilidad de aumentar DSMAX cuando estos valores muestren más de un suceso por segundo.
  • Tenga en cuenta los espacios de tabla particionados y LOB.
    La fórmula que Db2 utiliza para calcular el tamaño inicial del parámetro de subsistema DSMAX no tiene en cuenta los espacios de tabla particionados o LOB. Estos espacios de tabla pueden tener muchos conjuntos de datos.
  • Tenga en cuenta los conjuntos de datos correspondientes a índices no particionados que estén definidos en espacios de tablas particionados con muchas particiones y varios índices particionados.
    Si dichos índices están definidos con valores de PIECESIZE pequeños, el resultado pueden ser muchos conjuntos de datos.
  • Inicio del cambioConsidere ajustar los tamaños y los valores de atributos de las agrupaciones de búferes de índices.

    Db2 no libera las páginas raíz de los índices que están actualmente abiertos. Cuando aumente el valor DSMAX, es posible que también tenga que aumentar el tamaño de las agrupaciones de búferes y modificar los valores de los atributos de las agrupaciones de búferes de índice debido al uso adicional de las agrupaciones de búferes por parte de las páginas raíz de índice. Consulte Elegir tamaños de búfer de memoria para obtener más información.

    fin del cambio
  • Inicio del cambioConsidere el impacto de aumentar DSMAX en el número de bloqueos P de conjuntos de páginas mantenidos simultáneamente en un entorno de intercambio de datos.

    Aumentar el valor de DSMAX podría aumentar el número de bloqueos P de conjuntos de páginas que se mantienen simultáneamente en un entorno de intercambio de datos. Aumentar el número de bloqueos P de conjunto de páginas puede afectar a la reconstrucción de la estructura de bloqueo, así como al rendimiento del apagado e Db2 . Durante el cierre, Db2 aplaza el cierre físico de los conjuntos de datos. Un gran número de operaciones de cierre simultáneas podría sobrecargar los componentes subyacentes de e z/OS, tras el cierre de Db2 .

    fin del cambio
  • Inicio del cambioTenga en cuenta que cada conjunto de datos abierto requiere almacenamiento privado virtual adicional asignado debajo de la barra en el espacio de direcciones de servicios de base de datos (ssnmDBM1 ). Cuando aumente el valor DSMAX, asegúrese de que dispone de suficiente almacenamiento privado virtual de 31 bits por debajo de la barra en ssnmDBM1.fin del cambio
  • Puede calcular el número total de conjuntos de datos (en lugar del número que están abiertos durante periodos de máxima actividad).
    1. Para encontrar el número de espacios de tabla no particionados, emita la siguiente consulta:
      SELECT CLOSERULE, COUNT(*)
        FROM SYSIBM.SYSTABLESPACE
        WHERE PARTITIONS = 0
        GROUP BY CLOSERULE;
      El cálculo asume que usted tiene un conjunto de datos para cada espacio de tabla base o espacio de tabla LOB. Estas consultas de catálogo se incluyen en DSNTESP en SDSNSAMP. Puede utilizarlas como entrada de SPUFI.
    2. Para saber el número de conjuntos de datos para los espacios de tabla particionados, emita la siguiente consulta:
      SELECT CLOSERULE, COUNT(*), SUM(PARTITIONS)
        FROM SYSIBM.SYSTABLESPACE
        WHERE PARTITIONS > 0
        GROUP BY CLOSERULE;
      La consulta devuelve el número de espacios de tabla particionados y el número total de particiones.
    3. Para encontrar el número de conjuntos de datos necesarios para cada índice no particionado, emita la siguiente consulta:
      SELECT CLOSERULE, COUNT(*)
        FROM   SYSIBM.SYSINDEXES T1, SYSIBM.SYSINDEXPART T2
        WHERE  T1.NAME = T2.IXNAME
        AND    T1.CREATOR = T2.IXCREATOR
        AND    T2.PARTITION = 0
        GROUP BY CLOSERULE;
      En este cálculo se supone que tiene un solo conjunto de datos para cada índice no particionado. Si utiliza fragmentos, ajuste el cálculo en consecuencia.
    4. Para saber el número de conjuntos de datos para los índices particionados, emita la siguiente consulta:
      SELECT CLOSERULE, COUNT(*)
        FROM   SYSIBM.SYSINDEXES T1, SYSIBM.SYSINDEXPART T2
        WHERE  T1.NAME = T2.IXNAME
        AND    T1.CREATOR = T2.IXCREATOR
        AND    T2.PARTITION > 0
        GROUP BY CLOSERULE;
      La consulta devuelve el número de particiones de índice. Tiene un conjunto de datos para cada partición de índice.
    5. Para saber el número total de conjuntos de datos, sume los números resultantes de las cuatro consultas. (Para la Consulta 2, utilice la suma de las particiones que se han obtenido.)