Blog

Entendiendo las bases de un buen rendimiento (1/2)

Entendiendo los servicios de colección

En todos los sectores, los procesos críticos para el negocio dependen del rendimiento de las aplicaciones. La interrupción del procesamiento en tiempo real, los retrasos en el servicio al cliente, los SLAs no cumplidos y los plazos, son todos resultados plausibles con consecuencias muy reales. Afortunadamente, IBM i y los proveedores de software pueden brindarle herramientas para gestionar estos elementos.

“Collection Services” son un conjunto de herramientas de IBM para recopilar datos de rendimiento de IBM i en intervalos y almacenarlo dentro de un objeto de colección (tipo de objeto * MGTCOL). Estos objetos almacenan los datos de rendimiento en bruto que reflejan un intervalo de tiempo y el rendimiento del sistema, los trabajos, las agrupaciones de memoria y el disco. Estos datos se pueden utilizar para diagnosticar problemas de rendimiento, planificar el crecimiento o supervisar el rendimiento para que pueda ser proactivo con problemas de ajuste de aplicaciones o de ajustes relacionados con el sistema.

 

Configurando los “Collection Services” o Servicios de Recogida

  • Utilice el comando CHKPFRCOL para determinar si los servicios de recogida están activos
  • Con el comando CFGPFRCOL puede ver el detalle de cómo los servicios de recogida están actualmente configurados.

Cuando se configuran los servicios de recogida, se recomienda usar el parámetro *STANDARDP. Adicionalmente, IBM recomienda ejecutar continuamente las recogidas como parte normal de las operaciones. El comando STRPFRCOL inicia el proceso de monitoreo, también puede ser iniciado desde el “IBM I Navigator for Web”

Analizando la colección de Información

El comando CRTPFRDTA procesa los datos en el objeto *MGTCOL y los genera en archivos de base de datos de rendimiento. Una vez en los archivos de base de datos, estos datos normalmente requieren el uso de un servicio de terceros, (CDS Americas brinda este servicio), como PM para Power Systems (anteriormente PM / 400), para analizar los datos, iDoctor, Job Watcher, Performance Navigator y otros.

La Biblioteca de herramientas de rendimiento de IBM i Navigator – IBM i Access for web crea informes detallados y resumidos. Si bien la herramienta ayuda a predecir el crecimiento e identificar los trabajos que se consumen los recursos, no ayuda con problemas de rendimiento en tiempo real. Para mejorar la recopilación de rendimiento y los informes, considere una herramienta de terceros que avise en tiempo real cómo está funcionando el equipo.

 

Recolectando los datos

La mayoría de los datos estándar de “Collection Services” están disponibles en las pantallas de Trabajar con el estado del sistema (WRKSYSSTS) y Trabajo con estado del disco (WRKDSKSTS).

Una explicación de estas métricas y sus directrices:

Trabajar con el Estado del Sistema (WRKSYSSTS) Métricas

Porcentaje de CPU utilizado: analice el uso de su CPU y con el tiempo y establezca un nivel de umbral crítico de cinco a diez por ciento por encima de su nivel máximo "normal". También puede ser necesario considerar diferentes umbrales basados en la hora del día. Una alta utilización de la CPU puede no ser un problema. Por ejemplo, una CPU alta con una baja tasa de respuesta interactiva es Bueno, hay buena utilización del procesador sin impacto en el usuario final. En general, IBM recomienda una utilización promedio de la CPU de:

  • 50% para un simple Core
  • 70% para dos cores
  • 85% para ocho cores
  • 90% para 32 cores

Trabajos en el Sistema:  Esto incluye los trabajos activos, los trabajos en cola y los trabajos terminados que todavía tienen archivos en spool adjuntos. Demasiados trabajos en el sistema pueden causar retrasos durante IPL al iniciar sesión en el sistema. También puede causar retrasos con ciertos comandos relacionados con el trabajo.

Los valores del sistema que afectan los trabajos son:

  • QTOTJOB (Trabajos totales iniciales)
  • QACTJOB (Número inicial de trabajos activos)
  • QADLTOTJ (Trabajos totales adicionales)
  • QADLACTJ (Trabajos activos adicionales)
  • QMAXJOB (Número máximo de trabajos)

 

Durante IPL, el sistema operativo asigna almacenamiento para cada trabajo. Si necesita asignar memoria adicional para nuevos trabajos porque se ha superado QACTJOB o QTOTJOB, habrá un retraso breve. Si excede el valor de QMAXJOB, no se podrá iniciar el nuevo trabajo en su sistema, así que asegúrese de que este valor sea lo suficientemente alto como para manejar la cantidad de trabajos que se han visto históricamente en su sistema. Mantenga limpios los registros de trabajos y los archivos en spool para evitar que este número sea demasiado alto.

Porcentaje de dirección permanente utilizado y porcentaje de dirección temporal utilizado: Si este número aumenta rápidamente, podría significar que tiene aplicaciones que están creando y eliminando objetos a un ritmo rápido, lo que podría afectar el rendimiento. Cuando el porcentaje de direcciones temporalesse acerca a 60, considere hacer una IPL para restablecer este valor. (Esto puede requerir un cambio en una configuración de System Service Tools.) El valor predeterminado de IBM es restablecer en IPL sólo si el espacio de direcciones temporal es superior al 85%.

DB Porcentaje de capacidad: es la utilización máxima de CPU disponible para procesar la base de datos en este servidor. Este valor se agregó originalmente para los sistemas dedicados a Domino, pero posteriormente se agregó como una estadística a todos los sistemas. En general, indica que hay actividad de SQL en curso.

Hay una compensación de rendimiento para recopilar esta información. Según IBM, "El soporte de este valor en V7.1 cambió para no recopilar datos de utilización de CPU específicos del procesamiento de la base de datos. Interfaces que informan datos de utilización de CPU de base de datos como WRKSYSACT ahora muestran un cero en los campos de utilización de CPU de base de datos. "

Tamaño ASP del sistema: porcentaje de ASP del sistema utilizado y almacenamiento total: cantidad de espacio del disco duro en su sistema en comparación con la cantidad total y disponible en el ASP del sistema (grupo de almacenamiento auxiliar). El umbral de almacenamiento ASP se define en SST (System Service Tools). Si tiene varias agrupaciones de almacenamiento auxiliares definidas en su sistema, puede utilizar el comando WRKDSKSTS para obtener una mejor imagen del espacio de disco utilizado o desde el IBM i Navigator.

 

En general, el rendimiento se ve afectado cuando se alcanza el 80 por ciento del sistema ASP utilizado; Algunas cosas dejan de funcionar en el 90 por ciento utilizado. Si usted tiene un sistema enorme, multi-terabyte, estos valores serán más altos. Al 100 por ciento, su sistema automáticamente hará un IPL y también puede eliminar todos spools para obtener espacio.

Otra forma de controlar el crecimiento de espacio en disco es a través del valor del Sistema QSTGLOWLMT, que permite definir el valor del umbral inferior del espacio en disco ocupado. Por ejemplo: si su valor es 15, usted será alertado cuando el espacio esté siendo utilizado en 85%.

Actual y máximo protegido utilizado:  Estos son la cantidad actual de almacenamiento usada para objetos temporales y datos de máquina (que pueden aumentar debido a pérdidas de memoria de las aplicaciones); que han sido utilizados desde el último IPL. Se restablecen cuando se reinicia el sistema. Generalmente, un valor del cinco por ciento o menos del ASP total usado se considera aceptable para el uso no protegido usado.

DSPSYSSTS Valores de agrupación de memoria - Las agrupaciones de memoria del sistema están enumeradas de 1 a 64. Por defecto, hay cuatro agrupaciones de memoria predefinidas en el sistema:

 

  • Agrupación de sistema 1 - * MACHINE pool donde residen los programas del sistema operativo y el LIC (Código Interno Bajo Licencia) 
  • Pool de sistema 2 - * BASE es donde se coloca toda la memoria no utilizada y que la mayoría de los trabajos usan normalmente, ya que este es el grupo de memoria predeterminado para la mayoría de los trabajos ¨batch¨
  • Agrupación 3 y Agrupación 4, puede cambiar en función del orden en que se inician los subsistemas, pero típicamente es la agrupación 3 donde se ejecutan los trabajos interactivos y la 4 donde corren los transcriptores de impresión.

Para evitar conflictos de memoria y mejorar el rendimiento, los administradores o los proveedores de aplicaciones pueden haber creado agrupaciones adicionales para segregar el trabajo en su sistema. Las cargas de trabajo similares son colocadas en agrupaciones compartidas (Shared Pool) (es decir, subsistemas interactivos en la agrupación interactiva, subsistemas por lote en una agrupación de memoria de tipo “batch”). El tamaño de la agrupación se determina con una combinación de valores del sistema, la pantalla WRKSHRPOOL y el comando CHGSBSD para agrupaciones privadas. El ajuste de rendimiento automático - si está activado con el valor de sistema QPFRADJ y ajustado a 2 o 3 - ajustará las agrupaciones de memoria basándose en la demanda y los umbrales establecidos. NOTA: Los cambios realizados por el “Ajuste Automático” no están adaptados a cualquier Sistema por defecto, estos deben ser establecidos previo a un estudio de la carga de trabajo o de lo contrario pueden incluso afectar negativamente el rendimiento del equipo.

Agrupación Machine: la cantidad de memoria asignada a este grupo concreto cambiará en función de los ajustes de ajuste de rendimiento automatizados (valor del sistema QPFRADJ) o de otros productos de rendimiento. Valor del sistema QMCHPOOL es el tamaño mínimo de la agrupación de máquina y es la única agrupación de memoria con una guía clara para su buen uso, las faltas de página no deben superar 10 por Segundo. Existen diferentes técnicas para determinar su tamaño, pero un buen inicio será que tenga al menos 10% del total de la memoria disponible.

Reserved Size (Memory Pool):  Este valor es calculado por el sistema operativo, es para uso del sistema solamente y no puede ser usado por trabajos. Es crítico que se asigne suficiente memoria a la agrupación MACHINE desde el principio, de modo que el tamaño reservado no lo agote. El valor del sistema QMCHPOOL será modificado automáticamente por el ajustador de rendimiento automático, por lo que no es necesario un ajuste manual. Como punto de partida, recomendamos estos tamaños de agrupación mínimos para sistemas con memoria principal de 10 GB o más:

  • 7–10% del total de la memoria para la agrupación *MACHINE (system pool 1)
  • 5–8% del total for *BASE memory pool (system pool 2)
  • 1MB por sesión interactiva *INTERACT (system pool 3)
  • 1MB for *SPOOL (system pool 4)
  • El resto de las agrupaciones deberá ser analizado y ajustado de acuerdo al comportamiento de las aplicaciones y tiempos de respuesta esperados.

Máxima cantidad de trabajos activos (por agrupación de memoria): establece el número de trabajos que pueden tener un estado de ejecución en el WRKACTJOB y obtener un nivel de actividad al mismo tiempo. Este ajuste es más arte que ciencia y puede afectar significativamente el funcionamiento de los trabajos en su sistema.

Generalmente, permitir que un gran número de trabajos consiga un nivel de actividad del CPU no es bueno. Su rendimiento puede ser mejor si tiene un “Max Active” más pequeño, permitiendo que su trabajo se ejecute antes de pasar a un nuevo trabajo. Por ejemplo, si su agrupación interactiva tiene un “Máximo Activo” de 25, significa que 25 usuarios podrían pulsar la tecla Entrar al mismo tiempo y cualquier otro se inhibiría hasta que se produjera una apertura en uno de los 25 niveles de actividad ocupados.

Opción de paginación:  También conocida como "Expert Cache", este valor se puede establecer en * CALC para todas las agrupaciones de memoria compartida. El grupo de sistema 1 está reservado para el sistema operativo y LIC y debe permanecer como * FIXED.

Como recomendación general, sugerimos que las agrupaciones para trabajos “batch” estén en *CALC.

*CALC utiliza un algoritmo que calcula un valor de lectura anticipada que traerá bloques de datos en la memoria principal de una cantidad cada vez mayor, lo que hace que los datos estén disponibles para sus respectivos programas para evitar "faltas de página". Una falta significa que los datos no están en la memoria principal y deben cargarse desde el almacenamiento auxiliar (discos). * CALC funciona mejor para agrupaciones de memoria haciendo trabajo por lotes.

Faltas de base de datos y no de base de datos: También se conoce como una falta de página, las faltas de base de datos se miden en faltas por segundo. Este valor indica que los bloques de memoria del almacenamiento auxiliar se están leyendo en la memoria. Puede tratarse de programas (falta de base de datos) o registros de DB2 (falta de base de datos).

Como se menciona en la opción de paginación, una alta tasa de faltas de página afectará negativamente al rendimiento del sistema. Las tasas de faltas aceptables no se calculan fácilmente sin consultar la documentación adicional de IBM (hace varios años no hay guías de un buen nivel de faltas de página diferente a MACHINE). Generalmente, una alta tasa de faltas indica un rendimiento del sistema más pobre y puede mejorarse aumentando el tamaño de la agrupación, disminuyendo el valor de Max Active o ambos. Sin embargo, para la agrupación 1 (* MACHINE), IBM recomienda una tasa de falta de no más de 10 para faltas combinadas de base de datos y no de base de datos por segundo. Demasiados trabajos activos o subprocesos y memoria insuficiente significan que los programas y los datos serán continuamente paginados dentro y fuera del disco, lo que se conoce como "thrashing". Como se aplica el nombre, thrashing puede y traerá su procesamiento a una parada virtual si Usted no está usando el ajuste de funcionamiento automatizado.

Activo a Espera: Es medido en transacciones por minuto, un trabajo en el estado activo significa que sus datos están activamente utilizando el CPU del sistema. Si entra en una espera corta (Active to Wait), como para E/S de disco, mantiene su nivel de actividad, lo que le permite acceder al tiempo de CPU. Cuando un trabajo tiene una larga espera por un recurso del sistema, como una respuesta de la unidad de cinta o una entrada de un usuario, pierde su nivel de actividad, lo que permite a otros trabajos acceder al tiempo de CPU.

Espera a Inelegible: Los trabajos que utilizan su parte de tiempo de CPU y tienen una larga espera por recurso del sistema o pierden su nivel de actividad van a un estado inelegible. Se priorizan en función de la prioridad de ejecución y varios otros factores; Finalmente, cuando un nivel de actividad se abre de nuevo, obtienen su momento para ciclos de CPU adicionales. El proceso se repite hasta que el trabajo sea completado. En general, IBM dice que si la opción "Espera a inelegible" es siempre cero, el nivel de actividad para esa agrupación podría establecerse más alto ya que la agrupación no está utilizando todos sus niveles de actividad. Otra regla general: su Espera a Inelegible no debe ser más del 20 por ciento de su valor de Activo a Espera. Si la proporción es demasiado alta, se están enviando demasiados trabajos al almacenamiento auxiliar ida y vuelta.

Activo a No Elegible: Muestra la frecuencia con la que los trabajos se trasladan a la cola no elegible sin obtener un nivel de actividad. Este número debe ser lo más bajo posible sin ser cero. Si siempre es cero, siempre hay un nivel de actividad disponible, lo que significa que el nivel de actividad del grupo está demasiado alto.

Un monitoreo inadecuado puede traer consecuencias

Un monitoreo inadecuado, desconocimiento de su sistema y no tener alertas en tiempo real puede afectar la prestación de servicio de su organización con las afectaciones que ya son conocidas. En CDS Americas contamos con el personal capacitado, con más experiencia, y los mejores aliados para la gestión del monitoreo y rendimiento del IBM i.

Robot Monitor monitorea en tiempo real su sistema y permite alertarlo cuando algo no está bien. Usted podrá monitorear desde la memoria o disco, hasta conocer si un trabajo que debe estar siempre active finalizó.

CDS Americas ofrece el servicio de análisis de rendimiento y Capacity Planning que le permitirá conocer los problemas de rendimiento, establecer un plan de acción para corregirlo e incluso saber si debe migrar a un equipo con otras capacidades y cuál es el que mejor se adapta a las necesidades de crecimiento de su organización. Adicionalmente podemos ayudarle con herramientas especializadas en rendimiento para la plataforma IBM i.

 

Acerca del Autor:

Director de CDS Americas: 18 Años de Experiencia en IBM i, implementaciones de Soluciones de Rendimiento, Automatización,  Alta Disponibilidad y Seguridad en diferentes países de América Latina. Certificado por IBM, HelpSystems, Vision Solutions y otros ISV. Experto en temas de rendimiento y seguridad en la plataforma IBM i.

 

 

NUESTROS PARTNERS

 

CDS AMERICAS LLC ©

TODOS LOS DERECHOS RESERVADOS 2017. Desarrollado por: www.vitecreare.com

Contáctanos

Teléfono: +17867355281
E-mail: info@cdsamericas.com

Siguenos

Search