Para melhor visualização, recomendo resolução de no mínimo 1280 x 800 e navegador Mozilla Firefox


quarta-feira, 1 de fevereiro de 2023

MongoDB - Benchmark de Performance (ARM x X86)

Por Eduardo Legatti

Olá,

No artigo de Agosto/2022 eu realizei um benchmark de performance entre as versões do MongoDB. Neste artigo irei realizar uma comparação de performance do MongoDB nas arquiteturas ARM e X86 nas instâncias EC2 da AWS.

Como introdução, vale a pena salientar que a arquitetura de processadores é um assunto importante para entender a diferença entre diferentes tipos de dispositivos, especialmente quando se trata de escolher entre dispositivos móveis, como smartphones e tablets, e computadores desktop ou portáteis. As duas arquiteturas mais comuns são a ARM (Advanced RISC Machines) e a x86, que são usadas em dispositivos diferentes com objetivos diferentes.

A arquitetura ARM é amplamente utilizada em dispositivos móveis, como smartphones e tablets. É uma arquitetura de processadores RISC (Reduced Instruction Set Computing), o que significa que ela usa menos instruções do que outras arquiteturas, como x86. Isso permite que os processadores ARM sejam mais eficientes em termos de consumo de energia e, consequentemente, permitem que os dispositivos móveis tenham uma vida útil de bateria mais longa. Além disso, os processadores ARM são geralmente mais baratos e mais leves do que os processadores x86.

A arquitetura x86, por outro lado, é amplamente utilizada em computadores desktop e portáteis. É uma arquitetura de processadores CISC (Complex Instruction Set Computing), o que significa que ela usa mais instruções do que a arquitetura ARM. Isso significa que os processadores x86 são geralmente mais poderosos do que os processadores ARM, mas também são mais consumidores de energia. Além disso, os processadores x86 geralmente são mais caros e mais pesados do que os processadores ARM.

A performance em servidores de banco de dados é importante para garantir que as aplicações que dependem desses bancos de dados funcionem de maneira eficiente e rápida. Aqui estão alguns exemplos de como a arquitetura de processador pode afetar a performance em servidores de banco de dados:

  •  Taxa de transferência de dados: Em servidores de banco de dados, é importante que as informações sejam transferidas rapidamente de um lugar para outro. A arquitetura x86 tem uma largura de banda de dados mais ampla do que a arquitetura ARM, o que significa que os servidores de banco de dados baseados em x86 podem transferir dados mais rapidamente.
  •  Processamento de dados: Em servidores de banco de dados, é importante que as informações sejam processadas rapidamente. A arquitetura x86 tem uma capacidade de processamento de dados mais robusta do que a arquitetura ARM, o que significa que os servidores de banco de dados baseados em x86 podem processar dados mais rapidamente.
  •  Escalabilidade: Em servidores de banco de dados, é importante que eles possam ser escalados para acompanhar o crescimento do banco de dados. A arquitetura x86 tem uma escalabilidade mais alta do que a arquitetura ARM, o que significa que os servidores de banco de dados baseados em x86 podem ser escalados de maneira mais eficiente para acompanhar o crescimento do banco de dados.
  •  Consumo de energia: Em servidores de banco de dados, é importante que eles sejam eficientes em termos de energia. A arquitetura ARM tem um consumo de energia mais baixo do que a arquitetura x86, o que significa que os servidores de banco de dados baseados em ARM são mais eficientes em termos de energia.

Em resumo, a escolha da arquitetura de processador para um servidor de banco de dados dependerá do equilíbrio entre taxa de transferência de dados, processamento de dados, escalabilidade e consumo de energia. Se a prioridade for o processamento de dados rápido, a arquitetura x86 é uma boa escolha. Se a prioridade for a eficiência energética, a arquitetura ARM é uma boa escolha.

A Amazon Web Services (AWS) oferece servidores EC2 com duas arquiteturas diferentes: ARM e x86. Aqui estão alguns exemplos de uso dessas arquiteturas para bancos de dados:


Arquitetura ARM:

A EC2 A1 e M6g oferece processadores ARM-based Graviton2, que são projetados especificamente para a nuvem e têm uma arquitetura de baixo consumo de energia. Isso significa que as instâncias A1 são mais econômicas em termos de custo por hora de operação em comparação com as instâncias x86. Além disso, as instâncias A1 são otimizadas para carregar altas cargas de trabalho de I/O, o que as torna ideais para bancos de dados NoSQL que exigem alta escalabilidade horizontal.

Entretanto, é importante lembrar que a compatibilidade de software é uma questão importante a se considerar ao escolher a arquitetura ARM. Alguns softwares, como os bancos de dados relacionais, podem não ser compatíveis com a arquitetura ARM e, portanto, exigirão ajustes adicionais para funcionar corretamente.


Arquitetura x86:

A EC2 M5, R5 e M6i oferece processadores Intel Xeon Scalable, que são amplamente utilizados em aplicações empresariais e de nuvem. Isso significa que a compatibilidade de software é geralmente mais ampla em comparação com a arquitetura ARM.

Além disso, as instâncias R5 são projetadas para fornecer recursos adicionais, como CPU, memória e armazenamento, para lidar com operações complexas de consulta e processamento de dados. Isso as torna ideais para bancos de dados relacionais que exigem alta performance de processamento. No entanto, é importante lembrar que as instâncias x86 tendem a ser mais caras em termos de custo por hora de operação em comparação com as instâncias ARM. Além disso, as instâncias x86 podem consumir mais energia em comparação com as instâncias ARM, o que pode afetar a eficiência energética da sua solução de banco de dados.

Em resumo, a escolha entre a arquitetura ARM e x86 para seu banco de dados na AWS dependerá de suas necessidades específicas em termos de desempenho, custo e compatibilidade de software.

Segue abaixo o comparativo de performance utilizando o MongoDB nas instâncias M6i.xlarge (X86) e M6g.xlarge (ARM) na qual foram executadas operações no MongoDB durante 4 horas ininterruptas.

 



 





Nenhum comentário:

Postagens populares