Sobrecarga de servidor

3 respostas
Dyego_

Galera, tenho o seguinte problema

clientes estão fazendo muitas requisições no servidor, de fato que a memória java estoure antes de processar todas as requisições…

pensei em uma técnica multithread, criando várias threads e delegar o processamento de acordo com a demanda, porem esse numero tbm será limitado, então pensei em criar um buffer, como se fosse uma esquema de memória virtual e swap, qual caso a memória do java encha eu possa colocar os dados nesse buffer para serem processados posteriormente, não sei se essa solução tbm é efetiva

alguém conhece uma técnica que me possa ser útil para solucionar esse problema?

3 Respostas

E

O que você deve fazer num caso desses: se o número de requisições simultâneas exceder um determinado limite, comece a recusá-las, e monitore a quantidade de vezes que a aplicação teve de recusar uma requisição.

Se a quantidade de requisições recusadas for muito grande, você tem de escalar sua aplicação (por exemplo, fazendo-a rodar em mais máquinas simultaneamente, e também otimizando-a se for o caso. )

Dyego_

o que vc qr dizer é colocar em paralelismo real, não é? seria uma boa, mas não posso usar isso

bom no caso desse problema eu tbm não posso recusar nenhuma requisição,

E

Bom, se você não pode escalar seu problema horizontalmente (usar mais máquinas) e não pode recusar requisições, então tem de escalar seu problema verticalmente (usar uma máquina mais poderosa).

Você precisa olhar se sua máquina está ociosa em termos de CPU (pode ser que esteja ocorrendo isso, porque ela está esperando a resposta de uma outra máquina que é um banco de dados, que está com problemas de responder rapidamente).

Nesse caso, você precisa escalar a máquina do banco, ou melhorar a consulta (usualmente botando mais índices na tabela).

Criado 9 de abril de 2013
Ultima resposta 9 de abr. de 2013
Respostas 3
Participantes 2