Hola Así rápidamente lo primero que se me ocurre es si se puede realizar alguna optimización sobre el proceso y sus índices: puedes cambiar los indices que no se utilizan en el proceso a CHGLF MAINT(*DLY) y cuando acabe volver a cambiarlos a *IMMED ten en cuenta que si tienes mucho indices con mantenimiento *IMMED es una parte costosa del proceso
Aqui comentan un técnica similar con SQL y unas tablas temporales https://www.ibm.com/mysupport/s/question/0D50z000060GJyMCAW/stopstart-index-update-beforeafter-table-purge?language=es Otra medida puede ser indicar en el WRKSHRPOOL + INTRO + F11 y revisar el % mínimo/máximo de memoria para el pool de +INTERACT o para *BASE y evitar que se resientan Tambien lo puedes ajustar con CHGSHRPOOL POOL(*INTERACT) MINPCT(20) MAXPCT(80) por ejemplo Ya nos comentas SAlu2 El mié, 23 feb 2022 a las 9:39, datil400 (<[email protected]>) escribió: > Hola a tod@s, > > tengo que reconocer que después de 30 años trabajando en la plataforma no > he sido capaz de entender/aprender cómo gestiona los trabajos el IBM i. Os > planteo un problema que tengo relacionado con este tema. > > Tengo muchos procesos muy pesados que se ejecutan por lotes, normalmente > por la noche para molestar lo menos posible. En la empresa se trabaja las > 24 horas y estos procesos (aunque tardan mucho y se llevan mucho > procesador) nunca han interferido con el tiempo de respuesta de los > trabajos interactivos. > > En cambio, tengo un proceso muy concreto, que hace algo muy simple que es > una limpieza de un archivo con millones de registros. Cada x tiempo se > ejecuta para seleccionar una serie de registros, que se procesan uno a uno > (se lee el original, se graba en otro archivo y se borrar del origen). > Resumiento, es un bucle READ/WRITE/DELETE sobre unos cientos de miles de > registros. > > Pues cuando se ejecuta este trabajo, el tiempo de respuesta de los > trabajos interactivos se resiente muchísimo (varios segundos) y el resto de > trabajos batch se retrasan incluso horas. > > Actualmente mi configuración es la estándar: pools de memoria *INTERACT y > *BASE. Al trabajo en cuestión le he bajado la prioridad y la porción de > tiempo (TIMESLICE) a niveles de risa. Además el trabajo se lleva muy poco > procesador y muy poca memoria temporal. Aún así, no consigo mejorar los > tiempos de respuesta. > > Tengo la sospecha que podría estar relacionado con los pools de memoria, > ya que veo que *BASE está muy inflado (80-90% de la memoria) e *INTERACT el > resto. Mientras que cuando este programa no está en ejecución los pools > están repartidos a la mitad (aprox). > > ¿Alguna idea para conseguir un mejor tiempo de respuesta? > > Saludos y gracias por vuestros comentarios. > > 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.
