O Windows Server executando o Python Web App drenando lentamente a memória

1

Estou executando o Windows Server 2008 RC2 e executando apenas um aplicativo da Web do Flask do Python no Tornado, com arquivos estáticos veiculados pelo nginx. É isso.

Eu recentemente instalei o Server Density, e fiquei preocupado em ver que, muito lentamente, minha memória está drenando. Parece algum tipo de vazamento. Aqui está um gráfico:

Bastante lento, mas eu prefiro não ter que reiniciar meu servidor da web a cada 10 dias. O que poderia estar causando esse declínio? Como eu poderia descobrir?

    
por DizzyDoo 07.07.2011 / 21:59

1 resposta

2

Isso cheira a um vazamento de memória clássico: na sua próxima reinicialização, observe o tamanho de vários programas e, em seguida, verifique periodicamente e veja quais estão crescendo.
Se for um vazamento de memória, sem acesso a todo o código-fonte, é difícil identificar o problema. Se parece que é o seu aplicativo python, você pode rastrear o código Python e procurar a fonte, mas o vazamento pode estar em uma biblioteca externa à qual você não tem acesso.

Eu detesto recomendar "reiniciar o aplicativo" como uma solução, mas se estivermos falando pelo menos uma semana ou duas entre as reinicializações necessárias, as reinicializações serão relativamente rápidas, você terá um bom monitoramento e poderá automatizá-lo. pode não ser uma solução ruim a curto prazo (a longo prazo você precisa sentar com seus desenvolvedores e encontrar / corrigir o problema).

    
por 07.07.2011 / 22:05