Muchas gracias por vuestra ayuda.
 
Por cierto Martí: una aportación tan explícita y didáctica como la que has 
aportado, nunca puede calificarse como un "rollo". 
Tu exposición me ha servido de gran ayuda para aclarar algunas dudas que tenía.
 
Gracias de nuevo.
 
Jordi.
 
_________________________________________________________________________
 
Hola,
Puede que el planteamiento sea en principio correcto pero despues existan otras 
implicaciones que serain contrarias a la "separacion" de recursos que pretendes 
hacer.
CPU
Sera difícil aislar el consumo de CPU del resto de trabajo, casi diria 
imposible, pero habitualmente (y suponiendo que tengas mas de un procesador) 
como mucho si se mete en bucle solo consumirá el 100% de 1 CPU y dejara el 
resto libres (para calcular que porcentaje de CPU consume aplica una sencilla 
regla de tres, yo utilizo ms de cpu si consume 300ms en 5 minutos es que esta 
utilizando 1 cpu todo el tiempo.
Ojo si tienes instalado el producto de "DB2 MultiSimetrics Processor" (o algo 
asi) ya que eso hace que el DB2 del AS400 pueda utilizar mas de una cpu. Ademas 
algunos procesos utilizan hebras y eso puede que use mas de 1 cpu.
MEMORIA


1. Crear un subsistema para ese trabajo en principio parece buena idea.
2. Puedes asignarle a ese pool una cantidad de memoria que puede ser variable o 
fija.
3. Para crear un pool de memoria haz WRKSHRPOOL y asignarle memoria por ejemplo 
al *SHRPOOL2 (habitualmente el *SHRPOOL1 se utiliza para trabajos en QBATCH, 
aunque no viene definido por omisión en el sistema.
4. Después debes cambiar la descripción del nuevo subsistema para que utilice 
ese nuevo pool de memoria, normalmente yo recomiendo poner 2 pools el *BASE y 
*SHRPOOL2.
5. Después deberás nuevas clases (WRKCLS) para ese nuevo subsistema que 
utilicen el segundo pool de memoria del sistema y asignarlas a las entradas de 
direccionamiento del mismo.
6. Con esto conseguimos que el trabajo subsistema corra en el pool *BASE y el 
resto de trabajos dentro del subsistema en el *SHRPOOL2.
7. Doy por supuesto que tienes el ajuste automático del sistema activado 
(QPFRADJ 2 o 3) 
8. Para el ajuste de memoria del *SHRPOOL2, haz WRKSHRPOOL y pulsa F11 (otra 
vista) hay en las columnas que ves puedes definir que porcentaje de memoria 
mínimo y máximo quieres que se lleven los trabajos de ese pool (incluso si 
ponen el mismo en min y max lo que haces es dejar fijo el tamaño de la memoria 
utilizada.
9. Esto creo que es mejor que asignar memoria fija al subsistema ya que en caso 
de equivocarnos solo hemos de cambiar el porcentaje y el ajuste auto del 
sistema hará el resto.
10. Como calcular el tamaño de memoria que vas a necesitar, pues es difícil, 
entiendo que tampoco debe ser mucha que por lo que explicar hay comunicaciones 
por medio y seguramente estará mas tiempo esperando y leyendo a disco que 
utilizando memoria y CPU. De todas formas parte de un valor conocido tirando a 
alto y observa (DSPSYSSTS) la paginación y si aparecen trabajos en estado INEL 
eso indica que falta memoria en ese pool, Para hacer esto es mejor que no lo 
hagas en tu hora punta (mas que nada para que no te lleguen llamadas de 
usuarios) y puede que sea mejor desactivar mientras haces la prueba el ajuste 
automático del sistema ya que te puede distorsionar el resultado.
11. También debes saber que si tu proceso utiliza SQL el optimizador de SQL 
puede que decida crear un nuevo plan de acceso si ve que ha cambiado el tamaño 
del pool, eso no debería suponer un problema, pero en algunas instalaciones se 
traduce en un peor tiempo de respuesta de la aplicación, ya que reconstruye el 
plan de acceso demasiado a menudo.
Bueno espero que este "rollo" que os he metido ayude en algo.
Saludos.
 
 
2008/6/6 a so <[EMAIL PROTECTED]>:




Hola a [EMAIL PROTECTED],

Tenemos que mantener un intercambio de interfases entre nuestro i5 y un 
servidor Oracle que estará conectado a nuestra red.
Para la subida de datos hacia el i5 se ha diseñado un programa que se encarga 
de supervisar un directorio del servidor remoto y someter un trabajo por cada 
fichero de interfase que encuentre. La bajada hacia el servidor se hace bajo 
demanda y también somete un trabajo por cada interfase.

Dado que el trasiego de información será continuo y en la mayoría de casos 
crítico, se ha creado un subsistema dedicado en exclusiva a estas interfases.
Con ello se pretende conseguir que ningún otro trabajo interrumpa (ni se vea 
interrumpido) por este continuo intercambio de información.

Las pruebas realizadas hasta la fecha han sido óptimas pero necesitaría 
"garantizar" el rendimiento con el fin de evitar "picos" muy altos en tiempos 
de ejecución, es decir necesitaría tener reservada una cantidad "x" de CPU y de 
memoria para este subsistema, de manera que se vea afectado lo menos posible 
por el resto de trabajos concurrentes en el sistema.

Habíamos pensado en crear una agrupación de almacenamiento dedicada a este 
subsistema, pero no sabemos bien como hacerlo (ni como dimensionarla sin 
penalizar excesivamente al resto).

¿Creéis que es la mejor solución para "garantizar" un mínimo de máquina 
dedicada?
Si voy bien encaminado, ¿podría alguien indicarme que pasos debería seguir para 
crear y configurar una agrupación dedicada? ¿Cómo puedo calcular la cantidad de 
memoria necesaria que debo otorgar a esta nueva agrupación?

Perdonad por lo extenso del mensaje y os agradezco de antemano el tiempo que 
podáis dedicarle.

Saludos,

Jordi.


      ______________________________________________ 
Enviado desde Correo Yahoo! La bandeja de entrada más inteligente.
__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400

Responder a