Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, acabei de desenvolver um sistema, no inicio existia 3 usuarios conectados a ele e estava tudo ok, agora esse numero de usuario aumentou significamente, e o aplicativo começou a "ficar louco", depois de umas 2 ou 3 horas de uso, começa da erro, fica carregando carregando e nao entra. Entao fui verificar se poderia ser algo relacionado ao Banco de Dados, entao quando estava todos conectados e começou a dar erro, dei um
show processlist;//no mysqle as conexoes estavam fechadas e banco de dados gerenciando normalmente entao descartei a possibilidade de ter relacao com BD.
Alguem já passou por um problema desse? ou pode me dar uma luz como posso descobrir oque pode estar originando isso? talvez gerar um diagnotisco do aplicativo..
OBS: quando sobreescrevo as DLL do aplicativo ele volta a funcionar normalmente.
Muito obrigado amigo,
Vou testar e ver oque me retorna.
Até+
Esse diagnostico acho que não é oque espero, pois lança erros genericios, gostaria de algo como verificar objetos "voando" pelo servidor, quantidade de bytes talvez, pq está originando que o serviço fique tão pesado, causando lixo talvez..
Retorno:
ERRO:System.Web.HttpException: O cliente se desconectou. ---> System.Web.UI.ViewStateException: Viewstate inválido.
Client IP: 187.112.170.137
Port: 3044
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; Tablet PC 2.0)
ViewState: /wEPDwUJMjMzNTA0NzU0D2QWAmYPZBYCAgMPZBYKAgcPDxYCHgRUZXh0BSJMdWlzIEFudG9uaW8gZG9zIEFuam9zIEJpdHRlbmNvdXJ0ZGQCCQ8PFgIfAAUQQnJhZGVzY28gQXV0byBSRWRkAgsPPCsADQEMFCsAAwUHMDowLDA6MRQrAAIWBh8ABQRIb21lHghJbWFnZVVybAUxaHR0cDovL3d3dy5zaXN0ZW1haGV2aXN0b3JpYXMuY29tLmJyL2YvaS9ob21lLmdpZh4LTmF2aWdhdGVVcmwFN2h0dHA6Ly93d3cuc2lzdGVtYWhldmlzdG9yaWFzLmNvbS5ici9jYXBhL2NvbnRldWRvLmFzcHhkFCsAAhYEHwAFCFZpc3RvcmlhHwIFPWh0dHA6Ly93d3cuc2lzdGVtYWhldmlzdG9yaWFzLmNvbS5ici92aXN0b3JpYS9pbmNsdWlyLmFzcHgjMTAUKwAEBQswOjAsMDoxLDA6MhQrAAIWBB8ABQxBZ2VuZGFtZW50b3MfAgU/aHR0cDovL3d3dy5zaXN0ZW1haGV2aXN0b3JpYXMuY29tLmJyL2FnZW5kYW1lbnRvcy9jb250ZXVkby5hc3B4ZBQrAAIWBB8ABQlDb25zdWx0YXMfAgU8aHR0cDovL3d3dy5zaXN0ZW1haGV2aXN0b3JpYXMuY29tLmJyL2NvbnN1bHRhcy9jb250ZXVkby5hc3B4ZBQrAAIWBB8ABQhWaXN0b3JpYR8CBTtodHRwOi8v... ---> System.FormatException: Comprimento inválido para uma matriz de caracteres Base-64.
em System.Convert.FromBase64String(String s)
em System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)
em System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState)
em System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState)
em System.Web.UI.HiddenFieldPageStatePersister.Load()
--- Fim do rastreamento de pilha de exceções internas ---
--- Fim do rastreamento de pilha de exceções internas ---
em System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError)
em System.Web.UI.ViewStateException.ThrowViewStateError(Exception inner, String persistedState)
em System.Web.UI.HiddenFieldPageStatePersister.Load()
em System.Web.UI.Page.LoadPageStateFromPersistenceMedium()
em System.Web.UI.Page.LoadAllState()
em System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
em System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
em System.Web.UI.Page.ProcessRequest()
em System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
em System.Web.UI.Page.ProcessRequest(HttpContext context)
em ASP.vistoria_incluir_aspx.ProcessRequest(HttpContext context)
em System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
em System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
ERRO:System.Web.HttpException: Esta é uma solicitação inválida de recursos de script.
em System.Web.Handlers.ScriptResourceHandler.Throw404()
em System.Web.Handlers.ScriptResourceHandler.ProcessRequest(HttpContext context)
em System.Web.Handlers.ScriptResourceHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext context)
em System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
em System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Você trata erros na sua aplicação? itpo usando try catch?
Sim claro!
mas problema nao é em uma area individual, é no aplicativo todo..
para de funcionar tudo!
mas nao sei oque está ocorrrendo.
Como ele foi desenvolvido, em camadas? Por que pra ele para so se for problema no IIS então.
Problema no IIS acho que é dificl, servidor da locaweb tals, acho que está configurado corretamente..
Foi programado em camadas, 3 camadas, dados, negocio e interface...
mas oque isso poderia ter relacao com o " travar " o servidor?
Até onde eu sei, este erro:
O cliente se desconectou. ---> System.Web.UI.ViewStateException: Viewstate inválido.
Não aparece pro usuário, não trava nem nada.
Você montou sua camada de acesso a dados?
Abraços...
Locaweb não é muita coisa não. Prefiro a UOL, mas isso não se discute.
Eu tenho um site na locaweb(localixo) e de vez em quando ele trava com problemas no servidor de banco de dados sql, é o unico site que tem dado este tipo de problema.
Veja o erro que ocorre na minha aplicação
Um erro no nível de transporte ocorreu ao enviar a solicitação ao servidor. (provider: Provedor TCP, error: 0 - An existing connection was forcibly closed by the remote host.)
E só ocorre neste bendito site que esta na locaweb.
Este é o site www.ingodoy.com.br
Quintelab, ese é um dos tipos de erros que retorna em LOG quando o servidor "cai", sao varios erros que começam a lançar sem eu ter como rastrea-lo...
Ivan, quando o serviço para, eu consegui entrar normalmente e gerenciar o banco de dados normalmente pelo phpmyadmin.. entao problema ao acesso ao banco de dados acho que nao pode ser..
bem, dicas de alguma coisa que possa fazer para rastrear o motivo do "travamento" do serviço?
você entra na base pelo PhpMyadmin, pq ele deve rodar em outro servidor e não no que roda sua aplicação.
Eles não te falaram nada? Será que eles não podem isolar sua aplicação em um pool exclusivo?
Ele roda no mesmo servidor, é o mesmo ip do servidor...
já estou ficando louco...
será que pode ter alguma coisa relacionada com algo no web.config ?
Estranho que esse erro começou a ocorrer apenas a umas 3 semanas atraz, estava normal durante 5 meses..
Alterei algumas coisas simples no webconf como tempo de sesaso e qtd de kb por arquivo em upload..
Alterei tbm outra coisas que está me pilhando, tirei todos os using não usados nas forms
depois desas 2 alteracoes "simples", iniciou esses malditos erros.. contanto com o numero de usuarios que aumentou.
Até onde sei isso que você não influencia em nada na aplicação.
Pode ser também algum tipo de atualização realizada no servidor.
Por exemplo eu tenho um sistema que rodava 100% a mais de 02 anos, em 03 semanas atrás ele começou a dar erro de TimeOut de conexão de derrubava os usuários.
Abri um chamado na hospedagem e expliquei a situação, e eles afirmação que foram algumas atualizações que causaram o problema, e eles mesmo resolveram a aplicação agora está 100% novamente.
O que usou como camada de acesso a dados? Pesquise sobre o Data Access Application Block ( DAAB) da Microsoft.
Abraços...
Obrigado a todas, entrei em contato com o pessoal da locaweb, estao fazendo testes...
Bem, sobre o Data Access Application Block ( DAAB) , acho que nao tem muito haver com meu problema..
Olá, pessoal da locaweb alterou o pool do aplicativo e nada aconteceu, agora estão migrando a aplicação para outro servidor.
Após a migração volto a retornar aqui um parecer..
obrigado a todos.
Olá, migraram minha aplicação para outra área, e está ferrada ainda...
negócio est';a punk..
agora me encaminharam para o setor de desempenho do servidor.
Estamos acompanhando!
Entao turma, problema não foi resolvido, mas nao está mais dando problema.
O estranho é que diminui a quantidade de usaurios, antes tinha 8, agora tem 5 e voltou a funcionar novamente... não sei se foi coecidencia ou servidor ruim msm.. só sei que o pessoal da locaweb não arrumaram nada para voltar a funcionar.. abraço
Mas esta funcionando?
Ele disseram que não fizeram nada?
O sistema voltou a funcionar assim siplesmente do nada?
Voltou a funcionar assim do nada...
Pode parecer estranho, mas voltou a funcionar quando diminuiu um numero muito pequeno de usuario que mechia no sistema... de 8 pessoas, ficaram 5
é loucara, mas acho que tenha haver com isso..
O pessoal da locaweb não conseguiu rastrear o erro.. quando o serviço do meu aplicativo parava, lá no servidor da locaweb estava tudo normal, servidor, banco de dados... locurada
Acho difícil, pois no log do servidor tem todos os erros do IIS, e com certeza eles sabem o que ta causando o problema.
Ivan, pelo nosso histórico de chamados de suporte, e por acontecimentos conhecidos recentes, os caras lá ou não sabe mo que acontece ou ignoram.
Eddy, aqui na empresa temos uma aplicação utilizada simultaneamente por pelo menos 30 pessoas
E ontem por exemplo, uma determinada página começou a excessão de timeout
O banco estava normal, e logo o erro "passou", ou seja, voltou a funcionar sem interferência nossa ou da Locaweb (pelo menos é o que eles alegam)
A resposta oficial deles: "nós (empresa) temos que otimizar nossa aplicação"
Então, pra mim, os caras descobriram o que estava de errado no servidor onde teu projeto está, e corrigiram, e não te informaram
Típico!!
É felipe ja tive esse típico tipo de resposta deles, não recomendo locaweb pra ninguém, prefiro a UOL HOST.
Olá, desculpoa reativar esse topico, mas meu problema voltou novamente, após 3 novos usuarios utilizar o sistema também, totalizando 8 usuarios.
Estudando meu código, pensei na possibilidade da origem desse problema vim das variaveis Session, pois aclopo por usuario um numero até grande de objetos..
Um usuario tem acessos X áreas, maioria, 40 50 áreas.. 40 50 objetos na session por usuario...
Será que isso poderia ser a responsavel por derrubar o aplicativo?
Eu ainda acho que tem a ver com conexão a banco de dados, por isso disse pra pesquisar sobre o DAAB!
Seu número de usuarios começa a aumentar e podem estar ocorrendo falhas no momento de abrir e fechar objetos.
Abraços...
Você pode fazer o seguinte. No arquivo Global.asax, tem um método Application_Error, o que você pode fazer é disparar esse erro pra um email ou escrever um aquivo de logo dos erros, assim você vai descobrir o que esta acontecendo.
private void Application_Error(object sender, EventArgs e)
{
// captura o último erro da aplicação e através dessa exception você trata da forma melhor que você achar.