Hola a tod@s,
Independientemente de que me falte memoria (sólo 4Gb) quiero intentar afinar un
poco el rendimiento general del sistema y me gustaría encontrar que trabajos (o
usuarios) son los que consumen más recursos (memoria, CPU y base de datos).
Además he creado una agrupación a parte para los trabajos QZDASOINIT y quiero
supervisar su actividad.
El Navegador de Operaciones tiene supervisores para recopilar información sobre
la actividad del sistema pero, ¿existe alguna herramienta que pueda exportar
esta información en formato Excel? ¿Existe una herramienta que me devuelva la
cantidad de memoria, % de CPU, % capacidad de BD y faltas de página por trabajo?
Además quisiera exponer una curiosidad. La semana pasada creé una agrupación de
memoria *SHRPOOL1 que tenía cuyo Id de agrupación era el 5. Esta mañana,
*SHRPOOL1 había cambiado al valor 3 (antes era *INTERACT) e *INTERACT y *SPOOL
tienen ahora el 4 y el 5 respectivamente. ¿Es esto normal?
Un saludo y gracias por vuestros comentarios.
Javier Mora
________________________________
De: [email protected]
[mailto:[email protected]] En nombre de Marti Riera
Enviado el: miércoles, 27 de agosto de 2014 8:58
Para: forum.help400
Asunto: Re: Mejorar el rendimiento de QZDASOINIT
Hola,
Para que los trabajos QZDASOINIT se ejecuten en un pool de memoria
diferente deberas modificar:
¡¡atención!! este procedimiento no lo he probado nunca por lo que omito
cualquier responsabilidad :o)
1. Añadir un nuevo pool de memoria y dimensionarlo (WRKSHRPOOL).
2. Modificar el subsistema QUSRWRK para añadir el nuevo pool (CHGSBSD),
debera tener el 1 y el 2.
3. Modificar el trabajo de pre-arranque QZDASONIT del subsistema
QUSRWRK para que utilize el pool id. 2 (CHGPJE)
A partir de ese momento los trabajos QZDASOINIT deberían usar el nuevo
pool de memoria (WRKACTJOB + F11)
Mira si puede servirte de ayuda este documento que cree hace un tiempo:
http://as400howto.blogspot.com/2008/12/memoria-para-trabajos-batch.html
Un ejemplo de como quedaría la descripcion del subsistema:
Saludos
Martí Riera
2014-08-26 16:41 GMT+02:00 Javier Mora <[email protected]>:
Hola Martí, gracias por la respuesta. Visual Explain, Plan
Cache, DB Monitor, Index Advisor y no sé cuantas cosas más se han estado
utilizando para mejorar el rendimiento en las llamadas a SQL. Este verano
también me he dedicado a ojear tres Redbooks de IBM sobre ajuste de rendimiento
en la BBDD. ¡Un calvario!
Como expliqué en el primer correo, creemos que el programa y
SQL está bastante optimizado (podría mejorarse) porque cuando llamamos a estas
funciones desde interactivo tienen un buen tiempo de respuesta. Sin embargo,
cuando se llaman desde Windows el rendimiento es muy variable, sobre todo
cuando el AS400 tiene mucha carga de trabajo.
Por dar algún detalle, unas veces la llamada tarda 7 segundos y
en otros momentos tarda 900 milisegundos. Nuestra intención era actuar sobre
los recursos que utiliza QZDASOINIT para asegurarle un mínimo y evaluar de
nuevo el rendimiento.
Mis dudas vienen porque: 1º no tengo un conocimiento muy
profundo de la gestión de trabajos y 2º en toda la documentación que he leido
no he encontrado información sobre criterios para dimensionar el tamaño de la
agrupación o el nivel de actividad. Ahora lo estoy haciendo a "ojo".
Una vez más, gracias por tu interés.
Javier
________________________________
De: [email protected]
[mailto:[email protected]] En nombre de Marti Riera
Enviado el: martes, 26 de agosto de 2014 14:04
Para: forum.help400
Asunto: Re: Mejorar el rendimiento de QZDASOINIT
Hola,
Deberias tambien revisar el Performance Plan Cache para
ver los tiempos de respuesta de las peticiones que llegan de los trabajos
QZDASOINIT, para ver si las debes optimizar o crear indices,...
Para ello abre el iSeris Navigator, Databases, clicar
el sistema y boton derecho SQL Plan Cache, Show Statements.
Se abre una nueva ventana SQL Plan Chace statements,
aplica los filtros que creas necesario, clica en Refresh y espera; despues
comienza a analizar la información que sale en la ventana de la derecha a ver
si ves trabajos QZDASOINIT que tengan tiempos altos para ejecutar sentencias
SQL y analiza si puedes mejorarlas.
Al clicar una sentencia se abre el Visual Explain, alli
tambien tienes la Index Advisor por si recomienda crar un indice para acelerar
la sentencia.
Saludos
Martí Riera
2014-08-26 13:16 GMT+02:00 Alex Martínez
<[email protected]>:
Hola
Creo que la respuesta a tu (principal) problema
es los 4 Gb para una V6R1.
¿no tienes posibilidad de ampliar memoria?
El 26 de agosto de 2014, 11:59, Javier Mora
<[email protected]> escribió:
Hola a tod@s:
Como ya os he comentado en otra
ocasión, en la empresa estamos desarrollando un software que obtiene
información del AS400 a través de procedimientos almacenados. Hemos intentado
optimizar al máximo las llamadas al programa de servicio donde están
implementados los procedimientos almacenados. Sin embargo, el tiempo de
respuesta es muy variable y, analizando las causas, llegamos a la conclusión de
que podría ser el trabajo QZDASOINIT que atiende las peticiones SQL.
Nuestra configuración de memoria actual
pasa casi todo por *BASE, salvo el interactivo y el spool, y cuando la máquina
está un poco sobrecargada, se aprecia diferencia ante una misma petición en
interactivo (que es buena) con la petición remota (se relentiza más de un
segundo, a veces varios segundos).
Me he pasado el verano viendo temas de
configuración sobre la gestión de trabajos y me han surgido algunas dudas a las
que no encuentro respuesta:
- Hay dos recomendaciones diferentes
para los trabajos QZDASOINIT, una consiste en montarlos en un subsistema a
parte con una agrupación de memoria; la otra consiste en dejarlo en QUSRWRK
pero en una agrupación de memoria distinta. ¿Qué diferencia sustancial hay
entre montar un subsistema distinto o dejarlo en QUSRWRK?
- Si, como aconsenja la documentación y
comentarios leídos, es conveniente situar las peticiones de QZDASOINIT en una
agrupación de memoria a parte y separarlo de QBASE, ¿qué memoria le pongo? ¿y
el nivel de actividad? ¿Cómo calculo estos datos para que sean razonables?
Tengo sólo 4Gb de memoria.
- Respecto a la agrupación de memoria,
¿activo el Expert Caché o no?
Actualmente el nivel de actividad en
*BASE parece alto, "Máximo Activo" = 84 trabajos y "Tamaño de Agrupación" = 1,7
Gb. El valor del sistema QPFRADJ=2. V6R1.
- La GRAN DUDA ES, ¿con los ajustes
para el trabajo QZDASOINIT mejoraremos su tiempo de respuesta?
Queda claro que no tengo mucha idea
sobre "gestión de trabajos", ¿alguien me puede orientar?
Un saludo a todos,
Javier Mora
____________________________________________________
Únete a Recursos AS400, nuestra
Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400,
S.L.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad (
http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad (
http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.