O que é mais rápido para acesso de leitura no EC2; unidade local ou EBS?

11

O que é mais rápido para acesso de leitura em uma instância do EC2; a unidade "local" ou um volume EBS conectado?

Eu tenho alguns dados que precisam ser persistidos, então coloquei isso em um volume EBS. Como estou usando o OpenSolaris, esse volume foi anexado como um pool ZFS. No entanto, eu tenho um grande pedaço de espaço em disco do EC2 que não será utilizado, por isso estou pensando em reutilizá-lo como um volume de cache ZFS, mas não quero fazer isso se o acesso ao disco for mais lento do que o do volume EBS, pois teria potencial efeito prejudicial.

Phillip B Oldham
fonte

Respostas:

13

Só para adicionar um pouco ao consenso de que o EBS é mais rápido ...

Um ponto importante a ser entendido aqui é que a velocidade de armazenamento da instância é imprevisível - a Amazon não garante isso.

Essas informações são do livro Cloud Application Architectures, de George Reese (que parece muito bom com o que eu revelei até agora). Ele inclui uma tabela intitulada Comparação das opções de armazenamento de dados do EC2 (p. 41); Aqui está um trecho dessa tabela (no livro, existem várias outras características comparadas):

               S3              Instance          EBS

Speed          Low             Unpredictable     High
Reliability    Medium          High              High
Durability     Super high      Super low         High

Portanto, às vezes, o armazenamento da instância pode superar o EBS no acesso de leitura, mas se você deseja alta velocidade constante , é necessário acompanhá-lo. Como Reese coloca em seu livro:

Outra questão é a imprevisibilidade do desempenho no armazenamento da instância. Você pode realmente pensar que deve ser mais rápido que as outras opções, e às vezes é. Às vezes, no entanto, é incrivelmente lento - mais lento que um NFS montado sobre uma conexão Ethernet de 10bT. O EBS, por outro lado, fornece consistentemente o desempenho de uma SAN através de uma conexão Ethernet de GB.

Jonik
fonte
4
Eu tive a experiência exatamente oposta. O desempenho do EBS é imprevisível. Todos os principais períodos de inatividade do EC2 envolveram o EBS. O armazenamento da instância sempre teve um desempenho previsível.
precisa
3
Desde a sua contra-intuitivo que disco local seria mais lento (especialmente se você usar SSDs), seria bom ter mais informações do que "alguém diz que é mais rápido"
L. Blanc
8

Aumentamos cerca de US $ 1000 em cobranças da AWS em uma exploração sistemática desta e de questões relacionadas, e publicamos uma extensa análise .

Para leituras aleatórias (pequenas), descobrimos que o armazenamento "local" (instância EC2) e o EBS têm desempenho semelhante, mas o armazenamento local tem uma cauda de latência melhor.

Para leituras sequenciais (em massa), o EBS é mais rápido em m1.small, mas local é mais rápido em m1.large. Não comparamos diretamente o EBS local versus o EBS em outros tipos de instância, mas descobrimos que o aumento do tamanho da instância tem muito mais efeito no desempenho da loja local do que no desempenho do EBS.

Há também uma questão de custo. Ao transferir a E / S do EBS para o disco local, você reduz as taxas da AWS.

Steve
fonte
2

Se você procura o desempenho do banco de dados na Amazon, poderá encontrar este artigo útil: http://www.mysqlperformanceblog.com/2009/08/06/ec2ebs-single-and-raid-volumes-io-bencmark/

A vibração geral da minha própria pesquisa (tenho lido sobre isso há algumas semanas) é que o EBS é a opção mais rápida.

Chris Thorpe
fonte
Ouvi relatos de que você deve escrever sobre a unidade uma vez, pois a gravação inicial em um local tem uma sobrecarga alta. Além disso, às vezes você pode obter um controlador EBS ruim, portanto, é melhor verificar a velocidade deles antes de fazer algo crítico. Vi um pequeno número de unidades com esse problema. Surgiu quando eu estava fotografando 4 unidades de 500 gb, e uma delas demorou 4-5x mais, mesmo com os mesmos dados.
Flashman
1

A Amazon fez afirmações vagas de que o EBS geralmente supera a partição de rascunho "local" em uma instância do EC2. Sei que experimentei maior rendimento em um volume EBS em meu próprio uso, mas não me preocupei em medir a latência.

Se você está curioso sobre o desempenho em um uso específico, sua melhor aposta é provavelmente configurar uma instância de teste. Eu sei que sim.

Sam Rodgers
fonte
1

Eu executei instâncias do MySQL em volumes EBS e fiquei satisfeito com seu desempenho. Também não tenho dados concretos, mas funcionou bem.

UltimateBrent
fonte