Em termos de IO, isso tem pouco a ver com o tamanho da instância, exceto pela largura de banda disponível para você. Para explicar, quando você estiver usando o EC2 / AWS, isso significa que você estará usando o EBS para armazenamento e, portanto, usando a rede para persistir seus dados. Como tal, a recomendação é usar o RAID 10 em vários volumes para permitir a distribuição (performance), espelhamento (redundância) e falha em um volume defeituoso (caso contrário, sua matriz é tão lenta quanto qualquer disco mais lento) se um dos EBS volumes tem um dia ruim (acontece, confie em mim).
Por este white paper (que será atualizado com novas informações em breve), um volume do EBS pode fornecer
approximately 100 IOPS, and single instances with arrays of 10
or more attached EBS disks can often reach 1,000 IOPS sustained
Se você usa um Provisionado IOPS instância, em seguida, que todas as alterações, é claro, e isso também significa que você obtenha uma interface de rede dedicada para IO, removendo qualquer contenção com o seu tráfego normal no host.
A última opção restante são as instâncias baseadas em SSD, que ultrapassam até mesmo as capacidades de IOPs provisionadas, mas há uma grande diferença de preço para acompanhá-las.
Geralmente, com o MongoDB, você acabará com o tamanho baseado na RAM (manter seu conjunto de trabalho na RAM é geralmente considerado primordial, se possível), mas se você não puder e precisar acessar o disco regularmente, a quantidade que você pode compactar fora do EBS será importante.
Eu recentemente apresentei uma visão geral de tudo isso, com um AWS foco nos recentes eventos do Sydney / Melbourne MongoDB. Você pode encontrar os slides aqui:
link