Do EC2 Os volumes iops provisionados do EBS definem um limite de iops, não apenas um mínimo?

2

Estou testando o AWS EC2 com instâncias otimizadas do EBS usando volumes de IOPS provisionados pelo EBS, na esperança de descobrir o desempenho deles na realidade. Estou confuso com os resultados e esperava alguns conselhos do pessoal daqui.

Eu tenho testado em um m1.large (7,5 GB de RAM, otimizado por EBS, 8G de raiz não-PIO EBS, 4 ECUs em 2 vcores), fazendo meus testes de volume de EBS piops em um segundo volume a máquina. A máquina executa o Debian 6.0.6 (imagem oficial) com o PostgreSQL 9.2.2.

Tudo o que testei teve um desempenho significativamente pior quando uso um único volume de IOPS provisionado do que quando uso um volume normal do EC2.

Por exemplo, comparando um volume normal do EBS com um volume de 600 iops do PIOPS:

  • pg_test_fsync recebe mais de 1000 fdatasyncs / segundo e mais de 450 fsyncs / segundo em ebs normais, enquanto obtém quase exatamente 600 fdatasyncs e 151 fsyncs em um volume de piops.

  • O
  • pgbench com as mesmas configurações obtém 900 tps no volume normal do EBS vs 200 tps no volume do piops.

  • A criação de banco de dados leva cerca de 4x o tempo no volume de piops em comparação ao volume normal

  • Os resultados do Bonnie ++ no volume dos piops são drasticamente piores do que o volume normal do EBS.

A maneira que o volume PIOPS nunca parece exceder sua configuração de piops sugere que o valor de iops para volumes de piops é um máximo após o qual o desempenho é limitado, não apenas um mínimo garantido. Em outras palavras, os volumes dos piops podem ser mais lentos que os volumes regulares do EBS.

Ainda não encontrei nada na documentação sobre isso, mas é bastante consistente e a maneira como obtenho exatamente 600 fdatasyncs / segundo ou 150 fsyncs / segundo em um volume de 600 iops sugere strongmente o afogamento .

Os volumes do EBS PIOPS são limitados a um máximo de iops, não garantindo apenas um mínimo?

Atualização: Também solicitado nos fóruns da AWS .

    
por Craig Ringer 10.12.2012 / 08:55

1 resposta

2

A quantidade de IOPS que você reserva é o máximo, não o mínimo. Também é efetivamente o min, mas seus docs dizem que ele pode chegar a 95% do que foi reservado (então, nesse caso, pode chegar a 570.

O desprovisionamento é muito mais variável.

Também é importante observar que, para obter o melhor desempenho, é necessário conectar seu volume PIOPS a uma instância otimizada do EBS, caso contrário, você obterá um desempenho pior (como você viu).

    
por 19.03.2013 / 07:13