Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Providers
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-07-2017
Chary Chary is offline
Registrado
 
Registrado: may 2007
Posts: 4
Poder: 0
Chary Va por buen camino
Out Of Memory de la aplicacion servidora

Buenas:
Estamos trabajando con el modelo de tres capas. Generamos Aplicacion Cliente y aplicacion servidora.
La aplicacion servidora corre en un servidor con bastante recurso, solo que a medida que hay mayor requerimiento, la aplicacion servidora aumenta el consumo de memoria, y cuando llega aproximadamente a 20 MB deja a los clientes muy lentos, en algunos casos sale un error de Out Of Memory.
Lo que hacemos es cerrar y volver abrir la aplicacion servidora.
Alguna sugerencia?
Responder Con Cita
  #2  
Antiguo 25-07-2017
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 351
Poder: 12
bitbow Va camino a la fama
Creo que la descripcion de tu problema es muy vaga, deberias de indicar si consume una base de datos, que base de datos, los conectores que usas, si es una aplicacion servidora que es lo que sirve? ftp, datasnap, http, socket, RESt, WebService?

Asi ojo de buen cubero y adivinando todo mi sugerencia es que sigas reiniciando tu aplicación.

Saludos.
__________________
¡Ni como ayudarte Niño!!
bitbow
Responder Con Cita
  #3  
Antiguo 25-07-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 27.416
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Chary Ver Mensaje
Buenas:
Alguna sugerencia?
Buenas, bienvenido, echa un vistazo a nuestra guía de estilo, gracias
Responder Con Cita
  #4  
Antiguo 26-07-2017
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.393
Poder: 13
duilioisola Va camino a la famaduilioisola Va camino a la fama
Un consumo de 20 MB de memoria ram es muy poco, como para dar un error de ese estilo.
Has verificado que no esté creando memory leaks (creando objetos y no liberando su memoria después de usarlos).
¿Qué es lo que hace la aplicación servidora?
¿Cuando dices "deja a los clientes muy lentos", a qué te refieres?
- Se quedan esperando respuesta.
- La respuesta es demasiado grande y se vuelven lentos.
Responder Con Cita
  #5  
Antiguo 26-07-2017
Chary Chary is offline
Registrado
 
Registrado: may 2007
Posts: 4
Poder: 0
Chary Va por buen camino
Cita:
Empezado por Chary Ver Mensaje
Buenas:
Estamos trabajando con el modelo de tres capas. Generamos Aplicacion Cliente y aplicacion servidora.
La aplicacion servidora corre en un servidor con bastante recurso, solo que a medida que hay mayor requerimiento, la aplicacion servidora aumenta el consumo de memoria, y cuando llega aproximadamente a 20 MB deja a los clientes muy lentos, en algunos casos sale un error de Out Of Memory.
Lo que hacemos es cerrar y volver abrir la aplicacion servidora.
Alguna sugerencia?
Usamos SQL Server 2012. Usamos el UNIDAC, UniConnection. Datasnap.
Lo que hace la aplicacion servidora es capturar parametros del Cliente, luego ejecuta la consulta y devuelve resultados.
Por ejemplo, tenemos un formulario de Pagos en el cliente, el cual necesita datos de la cuenta corriente, el cliente envia los parametros a una instruccion que se encuentra en servidor, el servidor ejecuta la consulta y devuelve los datos al cliente. Que pueden ser descripcion de la cuenta, saldo etc.
Gracias por responder.
Responder Con Cita
  #6  
Antiguo 26-07-2017
Chary Chary is offline
Registrado
 
Registrado: may 2007
Posts: 4
Poder: 0
Chary Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
Un consumo de 20 MB de memoria ram es muy poco, como para dar un error de ese estilo.
Has verificado que no esté creando memory leaks (creando objetos y no liberando su memoria después de usarlos).
¿Qué es lo que hace la aplicación servidora?
¿Cuando dices "deja a los clientes muy lentos", a qué te refieres?
- Se quedan esperando respuesta.
- La respuesta es demasiado grande y se vuelven lentos.
Como hago para verificar que no esté creando memory leaks?
Cuando digo que deja a los clientes lentos, me refiero, a que la respuesta de los datos que vienen del servidor tarda bastante.
Por ejemplo, al iniciar la aplicacion servidora una consulta normal tarda un segundo, luego cuando se encuentra con los 20 MB tarda un minuto.
Gracias.
Responder Con Cita
  #7  
Antiguo 26-07-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 27.416
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es imposible que podamos ayudar salvo que des muchísima más información.
Responder Con Cita
  #8  
Antiguo 26-07-2017
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 351
Poder: 12
bitbow Va camino a la fama
Prueba este
https://www.eurekalog.com/help/eurek....php?leaks.php
o este que es gratuito (creo)
https://github.com/pleriche/FastMM4

Trata de emular tus consultas (por lo que veo es un servidor DataSnap) desde un ambiente controlado, es decir creo una proyecto de prueba que consuma alguno de tus metodos remotos directamente con parametros fijos (alguna venta, saldo, etc), de esta forma puedes determinar si existe algo mal con el diseño de tu aplicacion servidora o puede ser algo del cliente.

Saludos.
__________________
¡Ni como ayudarte Niño!!
bitbow
Responder Con Cita
  #9  
Antiguo 26-07-2017
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.393
Poder: 13
duilioisola Va camino a la famaduilioisola Va camino a la fama
Yo haría lo que dice bitbow.
Lanzaría consultas una tras otra al servidor y mediría el tiempo de respuesta.

Puede ser que el servidor haga la consulta SQL y deje transacciones abiertas y esto haga que cada Query al SQLServer se vuelva mas lenta.
Puede ser que haga una conexión diferente por cada consulta y esto haga que el servidor SQLServer sea cada vez mas lento.

Yo empezaría mirando el Servidor SQLServer... cuantas conexiones abiertas tiene, cuantas transacciones abiertas tiene, que mas está haciendo, etc.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Out Of Memory Cesargt Varios 10 21-10-2015 20:53:51
Sugerencias o indicaciones de como hacer aplicacion Cliente-Servidor-Shared Memory cmfab Varios 7 09-01-2013 21:55:25
Out of memory blaiselaborde Varios 10 26-01-2010 18:52:27
Out of Memory luxus OOP 5 30-09-2008 23:11:54
Aplicación Servidora como servicio amkalzada Providers 3 28-06-2007 12:35:13


La franja horaria es GMT +2. Ahora son las 18:30:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi