Qual destes fornecedores oferece o melhor desempenho em máquinas virtuais? Fizemos uma comparação de desempenho de servidores entre Amazon Web Services (AWS), Microsoft Azure e a Jotelulu.
Na Jotelulu questionamos tudo e somos obcecados por oferecer o melhor serviço, o que conduz a uma estratégia de inovação e melhoria contínua. Com essa estratégia em mente, verificamos continuamente as funcionalidades e otimizações dos outros players do setor cloud, o que em muitos casos leva a análises e comparações como a refletida neste artigo.
Posto isto, serão expostos os dados obtidos num teste de desempenho de máquinas virtuais Microsoft Windows Server em diferentes fornecedores de serviços cloud:
- Os fornecedores cloud escolhidos para esta primeira comparação são:
- Microsoft Azure.
- Amazon Web Services (AWS).
- Jotelulu.
- As máquinas nas quais o teste será realizado têm as seguintes características, proporcionando “justiça” à comparação:
- Windows Server 2019 Standard.
- Quad Core.
- 16 GB de RAM.
- Discos SSD.
- Para estabelecer o desempenho de cada um dos servidores e realizar os testes, as ferramentas selecionadas e os parâmetros analisados são:
- AS SSD Benchmark será usado para realizar os testes de transferência de dados em disco (#1). A ferramenta está disponível em: AS SSD Benchmark.
- CineBench será a ferramenta selecionada para testar a capacidade de processamento da CPU e da memória principal (#2). Disponível em: CineBench.
- Test LAN será a ferramenta selecionada para realizar os testes de conexão de rede e a transferência de dados na rede (#3). Download disponível em: Test LAN.
NOTA: deixaremos a informação detalhada e a análise de cada uma das ferramentas utilizadas nesta comparação de desempenho de servidores AWS, Azure e Jotelulu num anexo ao final deste artigo (após as conclusões).
Comparação de desempenho de servidores AWS, Azure e Jotelulu
Depois de apresentar as bases da análise e a forma como vamos trabalhar, vamos ver os resultados em cada um dos testes realizados.
#1. Transferências de Discos:
Para os testes de transferência de dados em discos, será utilizado o AS SSD Benchmark, que nos permitirá verificar o desempenho tanto na leitura como na escrita do disco, nos modos sequencial e aleatório.
Fizemos vários testes com diferentes volumes de dados:
- 1 GB (Tamanho padrão).
- 3 GB.
- 5 GB.
- 10 GB.
E para cada um destes foram realizadas as seguintes provas:
- Seq-test: mede quanto tempo demora a escrever e ler um ficheiro de 1 GB.
- 4K: um teste semelhante ao anterior em blocos aleatórios de 4K.
- 4K-64Thrd: semelhante ao 4K, mas distribui a carga por 64 threads.
- Time: mede a capacidade de resposta à compressão de dados.
Com base em todos estes dados é atribuída uma pontuação para leitura, escrita e media.
Neste caso damos especial importância à pontuação, porque se trata de uma pontuação média baseada em cada um dos pontos analisados.
Os resultados em todos os testes, com diferentes volumes de dados, revelam comportamentos muito semelhantes, com pequenas variações. Por esse motivo, vamos expor apenas os dados dos testes de 5GB, para que o leitor possa poupar tempo.
Transferência de discos com 5 GB:
Como no resto dos testes, ao comparar o desempenho com transferências de 5 GB, é possível criar um ranking em que a Jotelulu (1) toma a dianteira em desempenho, com 339 pontos em média, contra 173 do Azure (2) e 15 da AWS (3).
Se observarmos a imagem com as medições, verifica-se que os tempos de acesso da Jotelulu são cinco vezes mais rápidos (x5) que os de Azure e doze vezes mais elevados (x12) que os da AWS, que apresentou resultados muito fracos em todos os testes de movimentação de dados.
5GB | Tipo de Teste | JOTELULU | AWS | AZURE | Unidades |
Read | Seq | 540,23 | 41,51 | 199,17 | MB/s |
4K | 11,46 | 0,7 | 27,53 | MB/s | |
4K-64Thrd | 74,84 | 0,69 | 31,63 | MB/s | |
Acc.Time | 0,411 | 5,583 | 2,125 | ms | |
Score | 140 | 6 | 79 | pts | |
Write | Seq | 449,45 | 46,25 | 164,02 | MB/s |
4K | 11,66 | 0,7 | 9,95 | MB/s | |
4K-64Thrd | 71,01 | 0,7 | 15,6 | MB/s | |
Acc.Time | 1,692 | 27,932 | 1,883 | ms | |
Score | 128 | 6 | 42 | pts | |
Media | Score | 339 | 15 | 173 | pts |
Tabela. Comparação de transferência de discos para 5 GB
#2. Capacidade de processamento da CPU:
Como mencionado anteriormente, para verificar o desempenho do processador com Jotelulu, AWS e Azure, usamos o CineBench, que fornece resultados bastante reveladores.
Na execução dos testes no formato CPU (Multicore), ou seja, a usar toda a potência dos 4 núcleos do processador, observa-se que a Jotelulu apresenta o melhor desempenho (1), seguido da AWS ( 2) e finalmente pelo Azure (3).
JOTELULU | AWS | AZURE | |
CPU (Multi Core) | 2497 pts | 2445 pts | 1892 pts |
Tabela. Comparação de desempenho CPU (Multi Core)
Repetir o teste no formato Single Core muda radicalmente a situação. Neste caso, o Azure (1) apresenta clara vantagem sobre a Jotelulu (2) e a AWS (3) fica na terceira posição.
JOTELULU | AWS | AZURE | |
CPU (Single Core) | 664 pts | 640 pts | 746 pts |
Tabela. Comparação de desempenho CPU (Single Core)
No entanto, podemos ver que quando se trata do fator MP Ratio, que é uma relação entre o desempenho dos modos monoprocessador e multiprocessador, a AWS (1) está ligeiramente à frente da Jotelulu (2) e que o Azure (3) fica bastante atrás de ambos.
JOTELULU | AWS | AZURE | |
MP Ratio | 3.76 x | 3.82 x | 2.54 x |
Tabela. Comparação de Ratio MP
Com base neste teste, podemos dizer que o desempenho da AWS é um pouco melhor que o da Jotelulu, em média, mas que a Jotelulu tem um desempenho melhor em operações que envolvem o uso total das funcionalidades da CPU.
#3. Transferência de dados na rede:
O próximo ponto trata de medir a velocidade de movimentação dos dados pela rede. Para isso será utilizada a ferramenta LAN Speed Test, que permite medir a transferência em diferentes meios (disco rígido, USB e placas de rede).
NOTA: A aplicação de testes permite trabalhar com mínimos, máximos e médias, e usamos esta última para este benchmarking.
Para o segundo teste, escolhemos mover os dados para uma unidade de disco remota (Unidade Z) localizada fora das três infraestruturas, para evitar qualquer desvio dos dados.
Neste teste, são gravados dados aleatórios num ficheiro de 2 GB para sua posterior leitura, e medem-se as taxas de transferência.
Neste grupo de testes, a Jotelulu não teve um desempenho tão notável. Na escrita: Azure (1) ficou em primeiro; Jotelulu (2) ocupa o segundo lugar; e no terceiro lugar ficou a AWS (3).
Já no teste de leitura, Azure (1) ficou também em primeiro, a AWS (2) em segundo e a Jotelulu (3) em terceiro. A diferença foi de aproximadamente 10% entre o primeiro e o segundo e de 30% entre o primeiro e o o terceiro.
Dado medido | JOTELULU | AWS | AZURE | |
Writing (Upload) | Packet Size (Bytes) | 2000000000 | 2000000000 | 2000000000 |
Time / Packet | 224,0857 | 402,0651 | 176,4262 | |
Time to complete | 224,0857 | 402,0651 | 176,4262 | |
Bytes per second | 8925157 | 4974319 | 11336185 | |
Bits per second | 71401254 | 39794551 | 90689478 | |
Mbps (Default) | 71,4 | 39,79 | 90,69 | |
Reading (Download) | Packet Size (Bytes) | 2000000000 | 2000000000 | 2000000000 |
Time / Packet | 9,3373 | 6,4145 | 5,6562 | |
Time to complete | 9,3373 | 6,4145 | 5,6562 | |
Bytes per second | 214194911 | 311791746 | 353591410 | |
Bits per second | 1713559288 | 2494333965 | 2828731282 | |
Mbps (Default) | 1713,56 | 2494,33 | 2828,73 |
Tabela. Comparação de transferência de 2 GB em unidade remota
Conclusões:
Neste breve artigo, apresentamos uma série de ferramentas dedicadas ao benchmarking, que no nosso caso foram selecionadas para poder testar alguns dos pontos-chave das nossas máquinas virtuais, comparando os dados com resultados obtidos nesses mesmos testes nas plataformas cloud Microsoft Azure e Amazon Web Services (AWS).
É importante observar que, para esta comparação de desempenho de servidores AWS, Azure e Jotelulu, foram utilizadas máquinas virtuais com as mesmas características para os três fornecedores de serviços na nuvem, para estar em igualdade de circunstâncias.
Devemos referir também que foram observadas diferentes medições em cada uma das execuções das ferramentas de benchmarking, por isso decidimos executá-las várias vezes e selecionar a medição mais próxima da média de todos os valores, para que sejam resultados mais próximos da realidade.
Após observar os resultados de todos os testes, pode-se constatar que os servidores da Jotelulu estão bem posicionados, com resultados bastante satisfatórios.
A Jotelulu tem vantagem na transferência de dados em disco, deixando a AWS em má posição e com alguns problemas de desempenho, de acordo com os nossos testes. Quanto ao funcionamento da CPU, importa referir que a Jotelulu ficou em primeiro lugar no funcionamento Multi Core, mas em segundo lugar em Single Core, com uma performance total ligeiramente inferior ao Azure. Por fim, no caso da transferência de dados na rede, a Jotelulu fica atrás do Azure, com um desempenho 15% inferior, aproximadamente.
Esperamos que esta análise ajude a esclarecer algumas ideias e seja o ponto de partida para as suas próprias análises.
Anexo – Informação sobre as ferramentas utilizadas:
AS SSD Benchmark:
O AS SSD Benchmark permite testar o desempenho de leitura e gravação do disco, de forma sequencial e aleatória, e também bloqueia o uso do cache, o que permite saber com certeza as taxas de IOPS fornecidas pelo disco.
Para fazer estas medições, o AS SSD Benchmark grava e lê um ficheiro de um determinado tamanho (a partir de 1 GB) com blocos de 4K escolhidos aleatoriamente. Para isso, executa os testes com 1 ou 64 threads, enquanto faz as medições, para obter assim o tempo de acesso ao SSD.
Na bateria de testes adicionais, são copiados alguns ficheiros grandes, assim como muitos ficheiros pequenos; uma combinação de tamanhos de ficheiro e compressão de dados para examinar o comportamento da unidade.
O programa realiza várias sequências:
- Seq-test: mede quanto tempo demora a escrever e ler um ficheiro de 1 GB.
- 4K: um teste semelhante ao anterior em blocos aleatórios de 4K.
- 4K-64Thrd: semelhante ao 4K, mas distribui a carga por 64 threads.
- Time: mede a capacidade de resposta à compressão de dados.
Com base em todos estes dados é atribuída uma pontuação para leitura, escrita e media.
As medições podem ser feitas com movimentos de dados de:
- 1 GB (Tamanho padrão).
- 3 GB.
- 5 GB.
- 10 GB.
NOTA: Caso o leitor queira fazer estes testes em máquinas, deve ter em conta que podem demorar muito tempo.
CineBench:
O CineBench é um dos programas de referência para avaliar as capacidades de hardware de todos os tipos de equipamentos. Este software é frequentemente utilizado em sistemas de benchmarking para estabelecer comparações, por exemplo, ao escrever relatórios para revistas e sites especializados, bem como por administradores para otimizar os seus sistemas ou avaliar novos sistemas antes da compra.
Com uma série de testes, este software explora os recursos gerais da CPU através de tarefas de renderização, o que permite medir resultados sobre a utilização de vários núcleos da CPU, bem como os recursos modernos do processador.
O software basicamente testa a CPU com a produção de uma única imagem e com as mais recentes técnicas de criação gráfica. Com esta tarefa, o programa analisa como a CPU faz a gestão de threads e da memória.
O CineBench oferece suporte para trabalhar nos modos multiprocessador e monoprocessador e, nestes testes, executamos os dois métodos para obter conclusões mais amplas, que incluem o “MP Ratio”, uma proporção de desempenho nos modos multiprocessador e monoprocessador.
Test LAN:
A ferramenta LAN Speed Test é uma ferramenta projetada para medir a transferência através de diferentes suportes, como discos rígidos, unidades USB e placas de rede LAN, com e sem fios.
Para fazer estas medições, devemos selecionar uma pasta de destino, que pode ser local ou remota (mas para realizar testes de rede tem de ser remota (como uma pasta partilhada).
Uma vez selecionado o destino, o programa cria um ficheiro na memória. Em seguida, transfere-o em ambas as direções, sem usar a cache do sistema operativo, para evitar adulteração de dados.
Outras ferramentas:
Inicialmente avaliamos o uso de outras ferramentas de benchmarking, como Sandra, mas descartamos essa ideia, porque as ferramentas de benchmarking geralmente incluem baterias de testes que stressam a máquina, o que faz com que os sistemas hipervisores dos fornecedores de cloud desconectem as instâncias para evitar problemas.
Esperamos que tenha gostado desta comparação de desempenho de servidores AWS, Azure e Jotelulu!