AppServer Consumindo muita memória. Conexão Fantasma

Delphi

25/10/2013

Estou com um problema no meu appserver que no início do dia está consumindo pouca memória, mas no final do dia, está consumindo muita memória, fica lento e, às vezes, o firebird recusa a nova conexão. Eu achei que se tratava de "conexão fantasma", mas eu utilizo KeepAlive(TDSTCPServerTransport.KeepAliveEnablement = kaEnabled). Eu só tenho um único ServerMethod, e nele um TSqlConection para firebird. O LifeCyde = Session, logo uma sessão para casa appclient que conecta. Na minha concepção, não deveria dar problemas, pois se um appclient desconectar forçadamente (caiu a internet), dentro de instantes, o KeepAlive
deveria destruir tudo que está criado naquela Session, mas na prática o tamanho do appserver na memória só aumenta. Se eu mudar o LifeCyde = Server, a minha conexão com banco de dados vai ser única e vai acabar conflitando o que um appclient com outro. Fiz um pequeno teste, em outra aplicação, tentando um appserver o LifeCyde = Server e dois appclient ao mesmo tempo, fazendo uma consulta no banco, e dá erro.
Para amenizar o problema, todos os dias à noite, o serviço appserver é reiniciado, aí no outro dia começa tudo novamente. E à tarde começa o pico da lentidão e crescimento do seu tamanho na memória do servidor.
Queria saber se alguém poderia me ajudar neste problema que tenho há muito tempo, uns 3 anos praticamente.
Alessandro Zanela

Alessandro Zanela

Curtidas 0

Respostas

Marcos Saffran

Marcos Saffran

25/10/2013

Alessandro,

recentemente fiz um programa que a cada segundo verificava no banco de dados mysql, através de um timer, informações sobre diversas tabelas.
Esse programa estava aumentando o uso da memória a cada segundo, então verifiquei que apesar de fechar todas as query elas continuavam na memória, para resolver coloquei, depois do último close do meu timer um destroy e resolveu o meu problema.

Não sei como está o seu programa, mas espero que a solução do meu problema possa ajudá-lo a resolver o seu.
GOSTEI 0
POSTAR