Justificativa do desempenho do Amazon EC2

2

Eu tenho um arquivo .jar que representa um servidor que recebe sobre TCP uma imagem em bytes (de tamanho máximo de 500 kb) e grava o arquivo. Em seguida, ele solapa essa imagem e a envia por meio do soquete TCP para o lado do cliente.

Eu corri no meu laptop e foi muito rápido. Mas quando eu colocá-lo na instância do servidor do Amazon EC2 m1.large, descobri que é muito lento - cerca de 10 vezes mais lento. Pode ser a ineficiência no algoritmo de código, mas na verdade meu código não é nada além de receber imagem (como qualquer arquivo de byte) executar o algoritmo de sobel e enviar.

Eu tenho as seguintes perguntas:

1- É o desempenho normal do servidor Amazon EC2? Eu li os seguintes links link1 e link2

2- Mesmo que o código não seja tão eficiente, o servidor está finalmente manipulando uma carga muito baixa (apenas um cliente), o código "ineficiente" justifica tal desempenho?

3- Meu laptop é dual core apenas ... Por que o servidor amazon ec2 teria um desempenho pior do que o meu laptop? Como isso é explicado?

Desculpe-me por minha ignorância.

    
por Adroidist 27.06.2012 / 23:00

1 resposta

1

Como o djangofan disse, eu achei os servidores da AWS para executar no mesmo nível dos servidores físicos. Você pode tentar criar o perfil do jar do servidor usando VisualVM (isso deve ser bastante simples se você usar o desktop remoto na instância do Windows).

    
por 02.09.2012 / 21:32