Olá,
O propósito deste artigo é mostrar os resultados de um
benchmark (não oficial) realizado por mim comparando a performance de
leitura e escrita de versões do MongoDB desde a versão 3.2 até a versão 6.0
que é a última disponível na data deste artigo. Foram utilizados os patch
mais recentes disponíveis na data deste artigo de cada versão community do
MongoDB para Linux x64 conforme a seguir:
- 3.2 (3.2.22)
- 3.4 (3.4.24)
- 3.6 (3.6.23)
- 4.0 (4.0.28)
- 4.2 (4.2.21)
- 4.4 (4.4.15)
- 5.0 (5.0.9)
- 6.0 (6.0.0)
O hardware utilizado contém a seguinte configuração:
- Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
- 4 CPUs
- 16GB RAM
Segue o comando abaixo que foi utilizado para realizar o teste de
performance para cada versão do MongoDB. O utilitário usado se encontra
disponível em
POCDriver.
java -jar /home/mongodb/POCDriver-master/bin/POCDriver.jar -k 20 -i 10 -u 10 -b 20 -r 10 -t 5 -d 3600
-k Fetch a single document using its primary key
-i add a new document
-u increment an integer field in a random document
-b what size to use for operation batches
-r fetch a range of 10 documents
-t how many threads to run on the client and thus how many connections
-d how long to run the loader for (seconds)
Ao final de 3600 segundos de execução
(1 hora) para cada versão do MongoDB, os resultados foram computados em uma
planilha. Vale a pena salientar que foram realizadas 3 execuções em cada
versão do MongoDB e calculada a média dos resultados das 3 execuções. Cada
resultado compõe-se das operações abaixo
- inserts per second
- keyqueries per second
- updates per second
- rangequeries per second
Segue exemplo de um resultado que foi extraído para ser computado em uma
planilha.
After 3600 seconds, 76738832 new documents inserted - collection has 76738832 in total
21316 inserts per second on average
13198 keyqueries per second on average
26182 updates per second on average
3767 rangequeries per second on average
Por
fim, segue o resultado das execuções e o comparativo de performance de
leituras e escritas entre as versões.
4 comentários:
Ola Eduardo, acabei de perder uma vaga de 15k, por não saber mongodb nem cassandra e hoje que aparece seu artigo. vou dar uma olhada rsrsrsr
Eduardo, eu acompanho o seu trabalho desde um artigo de 2015, sobre sessões bloqueadoras.
Obrigado por compartilhar seu conhecimento.
Você oferece algum curso?
Abraço e sucesso.
Olá Mateus,
Não ofereço nenhum curso. Quem dá curso é obrigado a dar um certificado.
Abraços
Legatti
As plataformas hoje já geram os certificados, pense se faz sentido para você (exemplo: Udemy).
Abs.
Postar um comentário