// //

Problemas de Rendimiento SAP

Memoria SAP clases
Dudo que alguno de los consultores SAP, o bien administradores de sistemas SAP no hayan tenido nunca problemas de rendimiento, o lo que se conoce comúnmente como "performance" SAP.

Si bien no es mi especialidad, me he visto envuelto en más de una ocación con este tipo de problemas que son comúnes para áreas específicas de SAP bajo el módulo BASIS. He leído mucho al respecto y en varias ocaciones he encontrado excelente material de otros bloggers que comparten este tipo de información que hoy me gustaría re-transmitirles (y también dejarme a mí mismo un post recordatorio de este conocimiento).
Debo aclararles que este artículo tendrá una gran carga técnica.

Es muy importante cuando hablamos de rendimiento o performance SAP, entender la gestión de memoria que hace SAP. Los administradores de sistemas, o consultores BASIS tendrán que hacer cambios en los parámetros internos de SAP para mejorar el rendimiento del sistema. Pero antes de hacer esos cambios, deben conocer qué estan tocando. Este artículo hablará de los principales conceptos sobre la administración de la memoria en SAP.




A través del sistema de gestión de memoria SAP, el sistema asigna memoria a cada proceso de trabajo.
Hay tres tipos de memoria SAP:
  1. Roll Memory
  2. Extended Memory
  3. Private Memory

Roll Memory

La memoria inicial asignada a un contexto de usuario es la roll memory. De nuevo es asignada en caso de que la extended memory esté llena. El rol area es un área de memoria que tiene un tamaño configurable para cada proceso de trabajo y se encuentra en el “heap” de espacio de direcciones virtuales del proceso de trabajo.

Cuando el contexto de un proceso de trabajo cambia, los datos se copian del área de la memoria al fichero. Para evitar la copia repetida, se coloca otro búfer en el medio, el cual forma parte de la memoria compartida.

El área de despliegue consiste en dos segmentos:
  • ztta / roll_first:
    Se le asigna al proceso de trabajo por primera vez como memoria.
  • ztta / roll_area:
    Si ztta / rool_first se utiliza por completo, la diferencia entre ztta / roll_area y ztta / roll_first se le asigna también al proceso de trabajo.
SAP Roll Memory

Extended Memory

Los procesos de trabajo en SAP tienen una parte reservada en su espacio de direcciones virtuales de la extended memory. El tamaño se puede ajustar utilizando el parámetro de perfil em / initial_size_MB: Tamaño del pool de extended memory.

En la extended memory se pueden mapear desde los recursos comunes hasta cualquier proceso de trabajo. También se puede utilizar el espacio de direcciones virtuales. La extended memory varía con el sistema operativo y por lo tanto puede ser implementada según las necesidades.

En el caso de Windows es automáticamente gestionada. El sistema SAP crea una capa dentro de las funciones del sistema operativo para la gestión de páginas de esta memoria. La extended memory se implementa como un archivo mapeado sin nombre. Esto significa que el espacio de direcciones utiliza el archivo de paginación o usa el swap del sistema operativo como background memory.

Private Memory

Si un proceso de trabajo de diálogo se ha agotado el área rol asignado al mismo y también la extended memory, private memory se le asigna al proceso de trabajo. El proceso de trabajo entra en el modo PRIV (privado).

Esta memoria está dedicada a un proceso por lo tanto un proceso de trabajo se puede ejecutar en modo PRIV también llamado el modo privado, cuando la memoria local se agota. Otros procesos no pueden utilizar la prívate memory.

Después de liberar la memoria asignada, el sistema operativo sigue considerando que la memoria virtual que está ocupada por el proceso de asignación.


Estas características de la pila de memoria requieren que:
  1. El proceso de trabajo se puede ejecutar en modo PRIV cuando la memoria local está asignada y significa que el proceso de trabajo está reservado para el procesamiento del contexto del usuario actual hasta que el contexto libera el proceso de trabajo de nuevo cuando la solicitud haya terminado.
  2. El proceso de trabajo, si se ha utilizado una gran cantidad de prívate memory, se reinicia cuando el contexto de usuario se termina y la memoria local se devuelve. El reinicio hace que la memoria local vuelva a estar disponible para otros procesos. El reinicio se produce cuando un proceso de trabajo utiliza más memoria local de la que se define en el parámetro abap / heaplimit.

En el caso de que muchos procesos de trabajo entren en el modo PRIV, podría causar graves problemas de rendimiento en el sistema.

El parámetro de perfil rdisp / wppriv_max_no define que en el modo PRIV, un número máximo de procesos de trabajo de diálogo se pueden ejecutar sin restricciones de tiempo.


0 comments:

Publicar un comentario

Nota Importante: los comentarios son para agradecer, comentar o sugerir cambios (o hacer preguntas) sobre el artículo de arriba.


SAP y el logotipo de SAP son marcas comerciales registradas de SAP AG en Alemania y en varios otros países. No estamos afiliados ni relacionados con ninguna división o subsidiaria de SAP AG.