Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thiagojpa

Reciclando memoria no IIS

Recommended Posts

Fala galera!!

 

Bom minha aplicação está tendo problemas. Ela está perdendo a session dos usuário.

 

Eu guardo o Id dos usuarios em uma sessão.. mas por algum motivo a session ta expirando antes do tempo, que eu defino no IIS. Não estou utilizando Global.asa e o único session.Abandom() é no logout.asp.

 

Dei uma pesquisada e vi algo referente a reciclagem de memória.

 

Percebi que estava dando dois vacilos.

 

1º - Não estava fechando a conexão com o banco. Acho que isso só ia acumulando na memória. Estou certo?

 

2º - Não estava fechando todos os recordSet. Também acho que poderia estar prejudicando minha aplicação.

 

 

Pessoal será que eu resolvendo isso minha session vai durar?

 

Existe alguma ferramenta para monitorar o iis?(conexões, taxa de trasferencia, etc)

 

Esqueci de mencionar que a session está intermitente, as vezes com 3 minutos, as vezes com 15 ela cai.

 

 

O servidor é da empresa, se não me engano ele tem 2gb de memória ( Servidor de Dados e Web)

Compartilhar este post


Link para o post
Compartilhar em outros sites

com certea fechando as conexões e recordsets utilizados terá um ganho de performance, mas a session , não esta ligada com isso a não ser que tenha colocado sua string de conexao em uma session, mas verifique se não nenhum código que esta expirando imediatamente sua sessao, como um ession.Contents.RemoveAll(), ou se tem esse trecho abaixo de código

 

 

response.expires = 0
response.expiresabsolute = Now() -1
response.addHeader "pragma","no-cache"
response.addHeader "cache-control","private"
Response.CacheControl = "no-cache"
Session.Contents.RemoveAll()
Session.Abandon

 

e para otimizar seu código , olhe este link

Compartilhar este post


Link para o post
Compartilhar em outros sites

para além de optimizar o código, pode também no iis tentar procurar pelo site que está a dar problemas(iis6), tem que criar uma "apllication pool" para cada site, depois basta ir gestor de tarefas e ver os processos "w3wp.exe ", lá penso que tenha a referencia à pool que criou..., pesquise no google por "iis memory leak"

Compartilhar este post


Link para o post
Compartilhar em outros sites

com certea fechando as conexões e recordsets utilizados terá um ganho de performance, mas a session , não esta ligada com isso a não ser que tenha colocado sua string de conexao em uma session, mas verifique se não nenhum código que esta expirando imediatamente sua sessao, como um ession.Contents.RemoveAll(), ou se tem esse trecho abaixo de código

 

 

response.expires = 0
response.expiresabsolute = Now() -1
response.addHeader "pragma","no-cache"
response.addHeader "cache-control","private"
Response.CacheControl = "no-cache"
Session.Contents.RemoveAll()
Session.Abandon

 

e para otimizar seu código , olhe este link

 

 

Fala xanburzum,

 

o único código que tem parecido é este

 

Response.ContentType = "text/html"
Response.AddHeader "Content-Type", "text/html;charset=iso-8859-1"
response.CodePage=1252
response.Charset="iso-8859-1"
Response.Buffer = True 
Response.AddHeader "cache-control", "private" 
Response.AddHeader "pragma", "no-cache" 
Response.ExpiresAbsolute = #January 1, 1990 00:00:01# 
Response.Expires=0 

Compartilhar este post


Link para o post
Compartilhar em outros sites

é ai que ele esta expirando

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala pessoal o problema continua. Tudo está setado para 50 minutos de sessão. Não estou utilizando Global.asa, todas as minhas paginas esta com timeout = 50.

 

o iss utilizado é o 7

Compartilhar este post


Link para o post
Compartilhar em outros sites

use o Session.Contents.RemoveAll()

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.