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: