Instância do AWS Elastic Beanstalk - depuração de baixa CPU, mas alto uso de memória

1

Estou executando uma pequena instância t1.micro no Amazon Elastic Beanstalk. O aplicativo em si é um servidor da Web Java, carregado por meio de um arquivo .war, que responde a solicitações de um aplicativo da Web Heroku remoto.

Ao implementar o aplicativo, uma combinação de dados de formulários com diversas partes, como fluxos de entrada de arquivos e application / json, são lançados a partir de solicitações do aplicativo Heroku. Por algum motivo, sempre que uma solicitação é feita, a integridade da instância pula rapidamente para Aviso e, em outras solicitações, ela inevitavelmente passa para Grave e, assim, para de responder a qualquer solicitação.

Eu tenho tentado descobrir exatamente por que isso está ocorrendo. Uma coisa que reconheci na guia Funcionamento é que o uso da memória é quase sempre superior a 97% ao responder a solicitações, enquanto, por outro lado, a CPU ociosa é quase sempre > 99% Isso parece estranho para mim.

Por exemplo, suponha que eu decida publicar um arquivo .pptx de 50 KB no servidor da Web Java (grande o suficiente para travar consistentemente a instância). Eu faço upload e POST como fluxo do aplicativo Heroku para a instância do Elastic Beanstalk. A instância rapidamente salta para o status Warning, e depois de 30 segundos ou mais do que eu acho que está tentando ler / gravar o fluxo, pula novamente para grave e falha.

Por que um arquivo de 50 KB postado na instância como um fluxo seria grande o suficiente para travar a instância? Eu estou achando difícil baixar os logs porque eles parecem demorar uma eternidade para a AWS gerar. Existe uma maneira fácil de aumentar a memória da instância (ou seja, devo saltar para um nível mais alto de instância)? Obrigado pela sua ajuda.

    
por sir_thursday 05.05.2016 / 02:24

0 respostas