Baixas taxas de transferência no EC2 da Amazon

2

Eu tenho uma pergunta sobre as taxas de transferência no Amazonas EC2. Basicamente eu estou avaliando uma mudança para a pilha de serviços da Amazon, no entanto, queria fazer um benchmark em relação à nossa configuração atual primeiro. Minha configuração é bastante simples, apenas tenho uma grande instância do EC2 sendo executada acessando uma pequena instância do RDS, com ambas localizadas nas regiões da Europa-oeste. Na instância do EC2, estou executando o arquivo de configuração de arquivos do Apache, enquanto no meu servidor atual estou executando um arquivo de configuração do Apache modificado. Isso significa que estou esperando menos conexões simultâneas, no entanto, esperava que a taxa de transferência fosse semelhante.

Os testes de benchmark que estou executando não são nada mais que os testes padrão do bog (apache benchmark)

ab -n 100 -c 10 link

A configuração no EC2 resultou no seguinte:

ab -n 100 -c 10 http://www.example.com/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.website.com (be patient).....done


Server Software:        Apache/2.2.14
Server Hostname:        www.example.com
Server Port:            80

Document Path:          /
Document Length:        99051 bytes

Concurrency Level:      10
Time taken for tests:   17.872 seconds
Complete requests:      100
Failed requests:        97
   (Connect: 0, Receive: 0, Length: 97, Exceptions: 0)
Write errors:           0
Total transferred:      9940632 bytes
HTML transferred:       9898332 bytes
Requests per second:    5.60 [#/sec] (mean)
Time per request:       1787.165 [ms] (mean)
Time per request:       178.716 [ms] (mean, across all concurrent requests)
Transfer rate:          543.19 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       22   29  11.9     26      87
Processing:   717 1740 689.6   1530    3744
Waiting:      586 1475 619.3   1302    3112
Total:        739 1769 688.7   1561    3770

Percentage of the requests served within a certain time (ms)
  50%   1561
  66%   1713
  75%   1892
  80%   1975
  90%   3300
  95%   3674
  98%   3674
  99%   3770
 100%   3770 (longest request)

enquanto meu servidor respondeu com isso:

ab -n 100 -c 10 http://www.example.com/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.example.com (be patient).....done


Server Software:        Apache
Server Hostname:        www.example.com
Server Port:            80

Document Path:          /
Document Length:        116922 bytes

Concurrency Level:      10
Time taken for tests:   9.024 seconds
Complete requests:      100
Failed requests:        95
   (Connect: 0, Receive: 0, Length: 95, Exceptions: 0)
Write errors:           0
Total transferred:      11731386 bytes
HTML transferred:       11693186 bytes
Requests per second:    11.08 [#/sec] (mean)
Time per request:       902.427 [ms] (mean)
Time per request:       90.243 [ms] (mean, across all concurrent requests)
Transfer rate:          1269.51 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       15   21   9.5     17      52
Processing:   311  840 663.6    482    2987
Waiting:      188  362 416.1    216    1607
Total:        338  861 661.8    501    3003

Percentage of the requests served within a certain time (ms)
  50%    501
  66%    909
  75%   1063
  80%   1292
  90%   2130
  95%   2366
  98%   2912
  99%   3003
 100%   3003 (longest request)

Alguém mais está enfrentando essas baixas taxas de transferência? Eles são normais para instâncias do EC2? Posso estar fazendo algo errado?

Se você precisar de mais alguma informação sobre isso, por favor me avise.

Obrigado por toda sua ajuda.

    
por luxerama 25.10.2011 / 19:55

1 resposta

0

O example.com hospeda o PHP / Rails?

Honestamente, passei pelo mesmo processo de benchmark ao comparar as ofertas baseadas no EC2 vs Rackspace (RS) Cloud com resultados muito semelhantes (página do wordpress index.php usada no AB)

Minha conclusão e pesquisa mostraram que o gargalo do EC2 - mesmo em altas instâncias de CPU, era a CPU ou "Compute Units" quando se tratava de servir PHP. O mais simples wordpress index.php no tema padrão estava retornando ~ 40x menos Req / segundo do que RS no SO / stack idêntico. Honestamente, o servidor de nuvens de US $ 10 / mês do RS superou os US $ 160 ou qualquer que tenha sido a instância EC2 - isso é provável porque o RS está na infraestrutura mais nova e cada servidor de nuvem vem com acesso físico direto a um CPU moderno. Meu palpite é que o EC2 está simplesmente executando hardware antigo e / ou há mais partes / camadas móveis entre o seu código e o processando.

O EC2 é tão estável e bem pensado como qualquer oferta de nuvem, talvez mais do que todos eles, mas não é um bom lugar para o desempenho de alta carga, a menos que você possa investir muito dinheiro nisso. d provavelmente obter mais de uma oferta dedicada ou mesmo colo.

O Reddit (no top 100 sites da alexa) e outros sites de alto tráfego hospedam no EC2 - então não me entenda mal, isso pode ser feito. O armazenamento em cache e o balanceamento de carga antecipadamente com um cluster de nós da Web de alta CPU devem resolver o problema. Tudo o que estou dizendo é que - se você está procurando um desempenho decente de uma única máquina com a finalidade de servir php, você pode ser mais adequado em outro lugar ...

Se você não está recebendo mais de 2 req / seg ou 216.000 visitas / dia, talvez essa coisa toda não seja um problema e você pode / deve se beneficiar da estabilidade e dos recursos da stack da amazon.

    
por 25.10.2011 / 20:00