Em que ponto o EBS usa o gargalo?

10

Eu tenho um site hospedado na Amazon usando uma instância do EC2 apoiada por um volume do EBS. Nos fins de semana, os picos de tráfego aumentam a instância, o que ajuda bastante - não vejo mais o uso da CPU aumentando para 100% e o servidor não responde.

No entanto, eu noto que as leituras de disco também são muito altas (não pode ser ajudado, eu não acho) e eu estou pensando, em que ponto eu vou ver algum tipo de falha porque o disco pode mantém?

Como você pode ver na captura de tela anexada, ela ficou em 80MB / minuto no final de semana. Alguém tem experiência com a AWS e sabe em que ponto terei que migrar para instâncias balanceadas de várias cargas porque o EBS se torna o gargalo?

    
por ESW 03.10.2011 / 16:47

1 resposta

5

A primeira coisa a ter em mente que terá o maior impacto no seu desempenho de I / O é o tipo de instância que você está usando.

Instance Type   I/O Performance
-------------   ---------------
t1.micro        Low
m1.small        Moderate
m2.xlarge       Moderate
c1.medium       Moderate
m1.large        High
m1.xlarge       High
m2.2xlarge      High
m2.4xlarge      High
c1.xlarge       High
cc1.4xlarge     Very High (10 Gigabit Ethernet)
cc2.8xlarge     Very High (10 Gigabit Ethernet)
cg1.4xlarge     Very High (10 Gigabit Ethernet)

Quanto aos volumes do EBS e ao desempenho que você terá, como sugere a FAQ da AWS , você precisa avaliar seu aplicativo para ver o que esperar:

Q: What kind of latency and throughput rates can I expect to see from Amazon EBS volumes? The latency from an Amazon EC2 instance to an Amazon EBS volume is similar to the latency you would see from the local Amazon EC2 instance storage drive. I/O rates can vary significantly based on the size of the requests, the randomness of the access patterns, and the caching strategy used by the application. As such, the most accurate measure is to benchmark your specific application on an Amazon EBS volume.

O que isto significa é que as taxas de EBS que você obtém muitas não necessariamente são piores ou melhores do que o armazenamento de instâncias locais; isso realmente depende do seu comportamento de acesso aos dados.

Mais informações estão na página do AWS EBS :

Amazon EBS Volume Performance

Amazon EBS volumes are designed to offer higher throughput than Amazon EC2 instance stores for applications performing a lot of random accesses across your data set. You can also attach multiple volumes to an instance and stripe across the volumes to achieve further increases in throughput.

The exact performance will depend on the application (e.g. random vs. sequential I/O or large vs. small request sizes), so the best measure is to benchmark your real applications against the volume. Because Amazon EBS volumes require network access, you will see faster and more consistent throughput performance with larger instances.

Lembre-se também de que o desempenho de E / S não inclui apenas o E / S de disco, mas também o tráfego de rede ... então, quanto mais tráfego de rede sua instância receber, menos E / S de disco será obtido.

Dependendo do que você está veiculando, o armazenamento em cache de objetos na memória pode ajudar bastante se isso for possível para o seu tipo de aplicativo.

Além disso, aqui estão algumas postagens de blog que comparam o desempenho do EBS e volumes locais (efêmeros) em várias configurações e ajustes de RAID para obter um bom desempenho de I / O:

EC2 Discos Efêmeros vs Volumes EBS no RAID

Desempenho de E / S do Amazon EC2: discos temporários temporários vs. volumes distribuídos do EBS RAID 0

Obtendo boas IOs da EBS da Amazon

    
por 16.02.2012 / 09:39