MTBASE / SYBASE DE COLOMBIA
 
Búsqueda avanzada...
Versión para imprimir Versión para imprimir Enviar vínculo por e-mail Enviar por e-mail Ver atributos del documento Atributos del documento
 

PowerBuilder Tip #8

¿Cómo Reducir el Tamaño de la Memoria de la PBVM en EAServer?

Uno de los principales problemas al mover una aplicación PowerBuilder a EAServer es cómo reducir la cantidad de memoria que la PBVM toma en tiempo de ejecución. En algunos casos la cantidad de memoria utilizada por la PBVM puede llegar a ser muy grande. Esto en parte se puede atribuir a la manera como los componentes PB son desplagados a EAServer.

Por ejemplo, digamos que usted tiene una pequeña aplicación que consiste de 3 PBLs y tiene 5 componentes. Cuando usted despliega los componentes a EAServer, se crea una estructura de directorios similar a la siguiente:

%EASERVER%
    Repository/
        Component/
            <Nombre del Package>

Donde %EASERVER% es el directorio de instalación de EAServer. Dentro del subdirectorio del package usted encontrará un archivo de propiedades para cada componente desplegado. Este archivo contiene un campo llamado com.sybase.jaguar.component.pb.cookie. El valor del cookie es incrementado cada vez que se despliega el componente. Este cookie incrementado luego apunta al directorio bajo el componente en donde el PBD actual vive en tiempo de ejecución. Esa estructura de directorios se ve como la siguiente:

<Nombre del Componente>
    C<n>
        <uno o más PBDs que implementan el componente>

Dentro de EAServer, el PBVM tiene una instancia única de un cargador de grupos de clases asignada a cada ocurrencia diferente de una lista de librarías. Esa lista de librerías se basa en la propiedad del componente com.sybase.jaguar.component.pb.librarylist. En nuestro ejemplo, ese valor sería algo como $PBD1.PBD;$PBD2.PBD;$PBD3.PBD;... donde $ indica la ruta relativa del componente. Asi que para cada componente hay un conjunto único de librerías en memoria. En un ambiente de desarrollo esto es bueno ya que brinda mayor flexibilidad. En un ambiente de producción, por el contrario, esto causará mayor uso de memoria ya que hay una única lista de librarías para cada componente PB desplegado, por la sustitución que ocurre. Para corregir este problema usted debe:

  1. Incluir todas las PBLs que contengan NVOs y que estén compartiendo recursos, en una lista única y combinada de librarías.
  2. Desplegar cada componente, como usted usualmente lo haría, asegurandose de usar las mismas opciones de despliegue en términos de la consolidadión del PBL.
  3. Copiar las PBDs generadas a una ubicación común en su servidor de producción.
  4. Usar EAServer Manager (Jaguar Manager) para modificar la propiedad com.sybase.jaguar.component.pb.librarylist en el archivo de propiedades de cada componente para que sea exactamente la misma lista, referenciando la ruta completa a la ubicación común de sus PBDs. 
  5. Refrescar sus componentes.
  6. Tomar una copia de respaldo de los archivos de propiedades de los componentes.

Esto ayudará a reducir la cantidad de memoria usada por la PBVM al arranque, mejorando el uso de memoria y rendimiento de EAServer.

Vea más Tips de PowerBuilder.

Atributos del Documento
Resumen: Este tip muestra cómo reducir el tamaño de la memoria de la PBVM en EAServer
Código: 10179 Última Modificación: Nov 19, 2004
Temas: Programación Tipo de Documento: PowerBuilder Tip
Productos: PowerBuilder, EAServer Versión: Todas las Versiones
Plataformas: Todas las Plataformas Sistema Operativo: Windows, Unix
 
 Inicio   Sobre MTBASE   Sobre Sybase   Empleos en MTBASE   Mapa del Sitio   Mail Corp.   Aspectos Legales y Políticas de Privacidad