AWS, largura de banda e entrega de conteúdo

30

A minha pergunta é sobre Máquinas Virtuais e entregar o seu conteúdo através da conexão de servidores à Internet.

Eu tenho uma instância do windows Ec2 e sua conexão de rede parece ser 100mbps

Se eu estivesse fornecendo conteúdo daquela instância do EC2, esse é o meu potencial gargalo?

Como s3 difere, eu suponho que não seja um verdadeiro gargalo de saída potencial com s3?

Nota: Eu sei que o s3 e seu CDN seria melhor para conteúdo estático, no entanto, preciso explorar essa situação por enquanto. Nossas páginas HTML precisam acessar uma página do lado do servidor via AJAX, e como não há nenhum trabalho à prova de bombas para isso no momento em que nosso conteúdo e nosso servidor precisam estar exatamente no mesmo domínio, ele exclui o S3.

Largura de banda necessária: não tenho certeza, poderíamos ter até 100 usuários baixando vídeos a qualquer momento, provavelmente não mais. Os vídeos podem ter até 5 MB cada, mas visualizam até 20.

    
por Keeno 26.10.2011 / 13:14

2 respostas

58

Eu não posso falar por instâncias do Windows, mas presumo que suas características básicas sejam bastante semelhantes às instâncias do Linux.

A sua estimativa para o uso de largura de banda é de 100 downloads de vídeo simultâneos (não tenho certeza se você quer dizer baixar o arquivo ou transmitir o vídeo - vou assumir o último). Se tomarmos uma taxa de fluxo de 512kbps, você precisa de cerca de 51Mbit / s ou 6.5MB / s.

As instâncias do EC2 diferem em seu desempenho de E / S (que inclui largura de banda). Existem 3 níveis de desempenho de E / S: baixo, moderado e alto. No entanto, tenha em mente que a E / S de disco (ou seja, dos volumes do EBS) também depende da largura de banda. Você só pode realmente considerar a largura de banda dentro da rede EC2 (como ela será completamente variável na Internet).

Alguns números típicos para quantificar 'baixo', 'médio' e 'alto' (diferentes fontes citam números diferentes para valores teóricos, portanto podem não ser completamente precisos).

Alto: Teórico: 1Gbps = 125MB / s; Realista ( source ): 750 Mbps = 95 MB / s

Moderado: Teórico: 250Mbps; Realista ( fonte, p57 ): 80Mbps = 10MB / s

Baixo: Teórico: 100Mbps; Realista (dos meus próprios testes): 10-15Mbps = 1-2MB / s

(Existe também um nível 'muito alto' (10Gbps teórico), mas isso se aplica apenas a instâncias de computação de cluster somente).

Um outro ponto de menção é o grau de variação. Em instâncias menores, há mais variabilidade no desempenho, pois os componentes físicos são compartilhados entre mais máquinas virtuais. Independentemente disso, você pode esperar cerca de +/- 20% de variação em seu desempenho (fontes: 1 , 2 , 3 ). No seu caso (de acordo com as suposições / cálculos no topo), você pode precisar de largura de banda de pico de 13MB / s (double 6.5MBps, já que o disco I / O também é limitado pela rede). Se você estiver transferindo um conteúdo de largura de banda menor, será possível usar uma instância com desempenho de E / S 'moderado' (consulte a instância tipos de página ), se seus cálculos resultarem em um requisito de largura de banda maior, você precisará de uma instância com desempenho de E / S 'alto'. Simplesmente transmitir os dados não deve estar ligado à CPU ou à memória, mas sustentar 100 conexões simultâneas provavelmente exigirá pelo menos uma instância de tamanho médio - e se a largura de banda for uma preocupação, com base no acima, uma grande instância seria uma aposta mais segura). / p>

Eu recomendaria comparar os servidores que você lança para ver se eles atendem às suas necessidades (calculadas). Inicie duas instâncias (do mesmo tipo) e execute iperf em cada usando os endereços IP privados das instâncias - você precisará abrir a porta 5001 em seu grupo de segurança, se você executá-la com as configurações padrão. Além disso, a maioria dos testes fora da rede do EC2 mostra resultados entre 80-130Mbps (grandes instâncias) - embora esses números não sejam necessariamente significativos.

Um CDN seria mais adequado às suas necessidades, se sua configuração permitir. O S3 parece ter um limite de cerca de 50MB / s para largura de banda (pelo menos de uma única instância), de acordo com o este artigo , mas é mais alto do que você deve exigir (o S3 não suporta streaming). A Cloudfront seria mais adequada à sua tarefa (já que ela é projetada como um CDN) e suporta 1000 Mbps = 125 MB / s por padrão ( fonte ) com maior largura de banda disponível mediante solicitação e pode transmitir conteúdo também

    
por 01.11.2011 / 21:13
0

Os números parecem mudar com o tempo e à medida que o número de diferentes tipos de instâncias se prolifera. Mas várias pessoas postam benchmarks. Eu tive um pouco de sorte pesquisando [instance category] ec2 network benchmark .

Por exemplo, eu queria saber a largura de banda de uma instância m4.xlarge , então eu pesquisei ec2 m4 network benchmark . Eu encontrei este resultado de teste do blog de engenharia do Washington Post:

Type       Cost    Bandwidth Bandwidth Cost (1Gb/s) Bandwidth Cost EBS optimized
...
m4.xlarge  $0.252  791Mb/s   $0.320                 $0.320
...
    
por 11.05.2016 / 02:52