Ir para o conteúdo

Benchmarking MongoDB do 3.6 ao 8.0 - Parte 2

Jean da Silva
Updated date:
5 min read

Introdução

Olá e bem-vindo à segunda parte desta série!

Se você chegou aqui e não está totalmente ciente do que está acontecendo, este é um conteúdo que foi dividido em duas partes no qual compartilho meus resultados após testar a performance do MongoDB da versão 3.6 até a 8.0.

Neste post, não vou descrever a ideia principal por trás desta série, o ambiente ou como os testes foram conduzidos. Para isso, temos a primeira parte, que cobre todos esses pontos com todos os detalhes que consegui pensar.

Se você quiser entender este e outros detalhes por trás dos testes, fique à vontade para explorar a primeira parte no link abaixo:

Como usar o artigo

Esta seção será um breve guia sobre os dados e como usá-los/interpretá-los.

Abaixo, você verá cinco abas que podem ser acessadas para ver os resultados para cada número de threads testado e os cenários.

Assim que expandir a aba, você verá uma tabela com as operações testadas (Cenário) na coluna mais à esquerda, e o resultado de todas as versões à direita.

Por exemplo:

Para mais detalhes sobre a metodologia, por favor, consulte a seção que a explica melhor na Parte 1.

Para ajudar na sua análise, as tabelas possuem algumas funcionalidades que podem ser usadas.

1. Você pode comparar os resultados facilmente: selecione a sua versão preferida e passe o mouse sobre a outra.

Por exemplo - Vamos usar a versão 8.0 como referência.

Depois disso, ao passar o mouse sobre essa mesma linha, será mostrada a diferença percentual em comparação com a 8.0:

- Para aquele cenário, MongoDB 7.0 performou 33.19% menos operações quando comparado com 8.0.

2. Você pode habilitar/desabilitar “Highlight Version(destacar versão).

A minha ideia era simples aqui: já que é um teste de benchmark, eu não queria mais só comparar os resultados. Mas queria também saber qual versão “ganhava” em cada cenário.

Quando habilitamos essa opção, ela destaca qual versão teve melhor desempenho para cada cenário:

3. Por fim, se você quiser analisar os números mais a fundo, pode simplesmente copiar e colar as tabelas no programa de sua preferência.

Além disso, a função de Pesquisa também está habilitada. Você pode filtrar as operações de seu interesse na tabela para refinar a análise, exibindo apenas os resultados correspondentes.

Resultados

1 Thread
Cenário
Aggregation.FindProjectionDottedField.Indexed 549,82 520,79 83,22 537,70 520,07 523,60 351,54 526,16
Aggregation.FindProjectionThreeFieldsCovered 535,65 183,56 159,52 529,55 529,75 528,35 327,46 90,28
Aggregation.IntNonIdFindOne 116,02 551,54 501,36 540,36 528,13 505,94 387,63 544,00
Aggregation.IntNonIdFindOneProjection 517,51 526,85 479,84 534,33 528,77 494,39 449,53 213,48
Aggregation.IntNonIdFindOneProjectionCovered 555,07 549,38 523,55 534,96 530,24 522,73 342,03 504,77
Aggregation.ProjectExclude_LargeArray 1,66 1,39 1,67 66,94 68,00 69,29 372,20 381,89
Aggregation.RegexPrefixFindOne 165,54 558,66 539,90 553,90 526,83 530,12 235,84 522,72
Aggregation.TwoInts 514,38 513,78 500,85 543,10 521,65 518,79 251,29 526,85
Insert.BigKeyIndex 214,76 240,43 207,19 252,84 247,83 249,84 198,47 43,71
Insert.Empty 566,56 547,60 463,79 460,09 482,58 495,54 559,98 564,84
Insert.EmptyCapped 584,92 546,28 481,33 438,35 440,79 504,15 561,89 559,95
Insert.EmptyCapped.SeqIntID 555,33 450,80 530,16 562,73 541,74 387,68 555,56 561,15
Insert.IntIDUpsert 522,43 452,06 552,94 548,09 525,90 434,35 539,75 543,87
Insert.IntVector 414,49 424,03 405,78 437,02 419,40 415,26 436,54 479,75
Insert.JustID 576,85 525,46 493,94 352,15 477,87 516,43 547,72 563,17
Insert.JustNum 576,93 487,78 373,13 343,41 454,00 521,79 565,08 570,71
Insert.JustNumIndexed 576,42 535,18 360,27 334,95 451,65 470,25 550,88 558,24
Insert.LargeDocVector 14,94 20,21 74,30 79,14 78,82 77,55 98,73 116,84
Insert.MultiIndex.Contested.Rnd 502,40 511,48 361,62 539,11 537,31 519,49 331,44 214,71
Insert.MultiIndex.Uncontested.Rnd 489,47 532,98 344,57 532,32 549,89 521,17 329,89 447,74
Insert.MultiKeyIndex.Contested.Rnd 548,16 492,78 477,98 567,00 541,48 506,64 341,35 191,92
Insert.MultiKeyIndex.Uncontested.Rnd 557,14 530,25 412,90 562,42 540,95 543,55 375,91 100,63
Insert.SeqIntID.Indexed 585,13 522,91 476,73 391,06 422,20 521,61 549,32 557,84
Insert.SingleIndex.Contested.Rnd 573,26 547,45 559,17 550,02 545,32 534,08 448,52 539,75
Insert.SingleIndex.Seq 526,23 315,77 554,81 451,10 388,56 399,83 552,73 429,90
Insert.SingleIndex.Uncontested.Rnd 526,29 440,80 456,23 566,68 548,37 519,84 339,83 500,81
Insert.UniqueIndex 165,56 542,75 535,93 322,08 492,41 502,58 540,50 557,43
Insert.UniqueIndexCompound 188,58 210,20 546,26 552,93 555,67 509,03 539,88 554,93
Insert.UniqueIndexCompoundReverse 102,53 163,63 543,38 557,24 555,83 509,60 554,51 538,09
InsertIndexedStringsNonSimpleCollation 329,29 281,01 540,61 552,08 523,32 486,55 527,48 562,05
InsertIndexedStringsSimpleCollation 546,33 369,81 533,37 552,25 539,91 535,66 551,73 566,70
Queries.FindProjectionDottedField.Indexed 549,21 72,39 158,51 535,46 537,07 514,66 293,15 527,41
Queries.FindProjectionThreeFieldsCovered 560,71 369,78 524,34 543,33 533,79 533,62 436,69 101,86
Queries.IdentityView.FindProjectionDottedField.Indexed 537,89 81,74 78,71 524,89 508,26 507,72 271,09 509,93
Queries.IdentityView.FindProjectionThreeFieldsCovered 538,56 122,63 391,09 526,62 516,86 516,84 319,15 170,78
Queries.IdentityView.IntNonIdFindOne 335,00 421,46 450,12 435,18 529,54 449,29 506,23 413,62
Queries.IdentityView.IntNonIdFindOneProjection 517,99 529,67 523,89 530,39 519,40 499,02 280,82 518,35
Queries.IdentityView.IntNonIdFindOneProjectionCovered 536,97 503,37 500,88 525,81 527,24 507,81 295,71 522,36
Queries.IdentityView.ProjectExclude_LargeArray 1,33 1,38 1,65 68,87 68,71 67,80 349,69 408,48
Queries.IdentityView.RegexPrefixFindOne 97,58 546,43 520,64 525,20 528,20 516,53 325,64 526,84
Queries.IdentityView.TwoInts 374,13 436,14 484,26 528,24 529,67 453,33 526,11 363,43
Queries.IntNonIdFindOne 485,43 471,08 382,73 411,20 540,67 443,52 525,01 373,50
Queries.IntNonIdFindOneProjection 558,90 519,49 520,02 541,13 536,00 520,64 446,48 514,00
Queries.IntNonIdFindOneProjectionCovered 564,50 527,29 527,84 548,61 534,64 505,21 308,50 73,51
Queries.PartialIndex.AllInFilter.FilteredRange 1.016,58 1.027,46 1.008,08 1.083,24 1.030,15 963,53 595,77 1.047,29
Queries.PartialIndex.AllInFilter.FullRange 877,69 951,39 985,13 1.088,98 807,65 996,49 1.062,30 885,71
Queries.PartialIndex.FilteredRange 847,42 1.009,93 990,39 1.072,03 895,80 972,34 1.066,83 897,38
Queries.PartialIndex.FullRange 619,66 625,38 546,02 640,35 560,24 581,58 586,29 597,16
Queries.PartialIndex.NonFilteredRange 666,40 668,26 444,71 647,84 635,52 546,42 319,47 653,80
Queries.ProjectExclude_LargeArray 423,44 431,91 363,66 70,55 69,60 54,49 394,25 423,78
Queries.RegexPrefixFindOne 193,83 562,40 545,05 552,52 532,41 531,98 409,62 525,37
Queries.TwoInts 392,47 476,05 509,03 524,54 536,26 468,69 534,67 416,26
Remove.IntId 856,03 826,40 762,41 568,77 521,78 674,67 808,94 818,19
Remove.IntNonIdIndex 843,72 732,79 806,83 783,11 749,87 753,86 719,10 784,46
Remove.IntNonIdNoIndex 675,69 622,43 639,29 629,90 644,00 609,97 638,51 670,34
Remove.IntNonIdUniqueIndex 842,53 558,57 791,74 809,70 786,76 713,49 617,42 808,91
Update.FieldAtOffset 232,05 258,14 241,52 237,68 232,53 233,82 238,22 251,93
Update.IncFewLargeDoc 104,51 459,23 541,27 515,06 518,36 412,10 520,54 526,52
Update.IncFewLargeDocLongFields 557,03 292,26 508,68 515,78 531,15 264,50 529,23 526,41
Update.IncFewSmallDoc 159,39 409,16 516,18 527,58 535,26 400,68 522,48 530,12
Update.IncFewSmallDocLongFields 276,10 402,41 507,62 509,14 507,92 466,05 523,97 527,33
Update.IncNoIndex 499,40 558,83 457,77 520,38 522,89 523,50 508,88 535,76
Update.IncNoIndexUpsert 158,57 550,74 550,81 517,87 538,80 524,89 510,19 528,23
Update.IncWithIndex 306,39 555,70 533,02 509,65 490,94 499,15 417,74 531,58
Update.IncWithIndexUpsert 102,69 537,14 543,84 519,59 534,45 531,61 518,67 536,07
Update.ManyElementsWithinArray 245,78 261,74 252,38 256,30 268,81 253,42 247,93 256,78
Update.MatchedElementWithinArray 494,91 448,77 488,96 480,85 456,09 430,08 483,18 489,39
Update.SetWithIgnoredIndex.Random 496,61 554,84 439,08 529,83 477,93 481,88 464,14 187,95
Update.SetWithIgnoredIndex.String 556,54 540,68 383,08 531,86 519,18 463,27 346,73 513,00
Update.SetWithIndex.Random 519,43 549,11 534,27 537,61 517,77 528,40 331,01 495,23
Update.SetWithMultiIndex.Random 515,38 542,17 478,18 533,26 478,35 457,40 480,88 183,60
Update.SetWithMultiIndex.String 486,35 473,08 497,44 496,37 488,16 501,20 288,72 498,67
Update.SingleDocFieldAtOffset 778,08 815,97 663,70 803,50 755,28 790,42 699,73 798,43
Update.UniqueIndex 486,70 523,22 536,65 510,24 524,99 509,60 465,73 527,29
Update.UniqueIndexCompoundReverse 491,75 511,95 533,13 492,98 519,22 511,90 383,37 525,34
2 Threads
Cenário
Aggregation.FindProjectionDottedField.Indexed 1.074,18 612,68 1.041,88 1.062,28 1.042,37 1.019,98 890,62 1.034,04
Aggregation.FindProjectionThreeFieldsCovered 1.079,55 647,14 1.066,45 1.037,92 1.034,55 1.004,32 907,86 1.049,77
Aggregation.IntNonIdFindOne 971,15 911,72 899,08 1.083,66 1.003,34 1.043,04 846,55 1.083,36
Aggregation.IntNonIdFindOneProjection 1.072,76 795,91 1.044,28 1.054,26 1.050,39 1.023,28 819,69 1.024,42
Aggregation.IntNonIdFindOneProjectionCovered 283,32 184,07 920,08 1.032,99 1.033,22 1.028,96 631,80 1.049,66
Aggregation.ProjectExclude_LargeArray 2,26 2,27 2,20 90,35 95,15 95,29 793,04 264,68
Aggregation.RegexPrefixFindOne 968,88 907,53 761,27 1.081,50 1.051,19 1.035,95 1.044,09 552,33
Aggregation.TwoInts 1.050,76 888,59 730,81 1.043,44 939,90 907,74 945,32 171,69
Insert.BigKeyIndex 353,18 358,73 272,71 361,16 360,16 356,57 240,56 363,60
Insert.Empty 1.107,45 1.039,66 1.091,18 1.112,87 1.071,99 1.055,44 1.061,53 1.106,78
Insert.EmptyCapped 1.110,82 1.042,36 1.084,44 1.101,31 1.062,96 1.076,40 1.068,71 1.108,80
Insert.EmptyCapped.SeqIntID 1.130,11 1.103,96 1.097,97 1.099,69 1.020,15 788,33 1.047,51 1.100,21
Insert.IntIDUpsert 1.125,52 1.064,67 1.049,49 1.065,14 923,99 870,45 1.067,61 1.058,47
Insert.IntVector 803,65 751,05 769,26 807,42 796,07 747,42 775,42 861,57
Insert.JustID 1.112,35 1.060,25 1.114,48 1.073,54 1.064,46 934,47 1.046,29 1.091,43
Insert.JustNum 1.113,80 1.055,19 1.048,37 1.104,74 1.043,13 1.059,35 1.025,21 1.091,63
Insert.JustNumIndexed 1.108,05 1.025,87 1.065,67 1.098,39 1.079,96 944,42 1.045,64 1.083,59
Insert.LargeDocVector 131,77 113,94 85,53 100,51 95,40 98,89 124,49 176,30
Insert.MultiIndex.Contested.Rnd 1.006,27 957,08 844,44 985,35 1.065,86 949,07 947,03 967,60
Insert.MultiIndex.Uncontested.Rnd 873,26 989,65 1.035,44 1.101,13 1.065,50 1.002,71 912,19 1.039,72
Insert.MultiKeyIndex.Contested.Rnd 956,00 960,36 1.029,59 992,49 1.085,07 899,73 898,27 1.056,98
Insert.MultiKeyIndex.Uncontested.Rnd 941,90 850,20 910,12 912,88 912,31 889,32 958,21 1.039,13
Insert.SeqIntID.Indexed 1.117,08 1.069,80 1.068,12 1.078,91 1.075,75 1.035,14 1.042,25 1.109,99
Insert.SingleIndex.Contested.Rnd 1.062,99 998,46 1.064,73 1.104,49 991,63 939,09 907,46 1.041,03
Insert.SingleIndex.Seq 1.012,22 1.089,71 813,89 1.116,81 1.074,50 1.042,03 756,80 1.052,63
Insert.SingleIndex.Uncontested.Rnd 1.020,16 955,89 886,22 1.064,64 1.006,45 895,93 990,91 1.029,24
Insert.UniqueIndex 1.089,73 1.049,43 1.075,41 1.074,22 937,61 1.047,29 1.044,29 1.075,61
Insert.UniqueIndexCompound 1.123,80 1.098,49 1.100,55 1.082,22 971,43 905,28 1.074,65 1.040,61
Insert.UniqueIndexCompoundReverse 1.135,03 1.104,63 1.085,85 1.068,16 1.071,46 902,79 1.085,87 1.070,36
InsertIndexedStringsNonSimpleCollation 1.119,74 1.098,11 1.066,01 1.094,67 952,66 749,69 1.069,10 1.048,74
InsertIndexedStringsSimpleCollation 1.110,17 1.094,20 1.076,62 1.086,81 947,39 784,78 1.077,98 1.044,89
Queries.FindProjectionDottedField.Indexed 799,93 959,63 889,87 1.077,24 849,10 982,49 804,09 1.059,37
Queries.FindProjectionThreeFieldsCovered 1.075,68 940,63 1.015,11 1.063,42 1.053,66 1.026,83 937,14 1.058,96
Queries.IdentityView.FindProjectionDottedField.Indexed 916,09 882,16 890,75 1.043,30 1.013,76 723,15 823,62 1.040,36
Queries.IdentityView.FindProjectionThreeFieldsCovered 1.018,12 726,28 892,29 1.044,27 1.030,30 961,32 865,62 1.040,35
Queries.IdentityView.IntNonIdFindOne 1.041,10 843,09 778,26 1.043,83 1.035,61 998,60 999,93 1.076,91
Queries.IdentityView.IntNonIdFindOneProjection 1.057,61 63,74 961,44 1.044,31 1.027,18 1.024,64 892,71 1.035,49
Queries.IdentityView.IntNonIdFindOneProjectionCovered 193,81 284,94 967,14 1.030,51 1.036,31 988,62 701,46 1.032,42
Queries.IdentityView.ProjectExclude_LargeArray 3,19 1,82 2,27 96,27 92,06 95,44 551,07 776,50
Queries.IdentityView.RegexPrefixFindOne 1.001,47 845,69 810,55 1.063,14 1.015,41 996,67 854,36 1.059,90
Queries.IdentityView.TwoInts 1.052,35 775,60 1.009,75 1.045,62 1.043,31 1.027,34 967,88 304,35
Queries.IntNonIdFindOne 1.068,37 844,14 982,88 1.065,29 1.071,68 994,64 925,68 1.097,63
Queries.IntNonIdFindOneProjection 188,15 237,52 802,53 1.073,76 918,04 937,33 900,46 982,86
Queries.IntNonIdFindOneProjectionCovered 253,70 823,27 873,53 1.082,97 1.045,54 758,51 893,06 1.077,93
Queries.PartialIndex.AllInFilter.FilteredRange 281,19 1.624,08 2.058,92 2.125,52 2.032,95 1.843,42 2.018,47 1.898,92
Queries.PartialIndex.AllInFilter.FullRange 2.058,80 2.129,69 2.173,14 2.098,82 2.058,97 2.016,49 1.517,03 2.124,48
Queries.PartialIndex.FilteredRange 733,50 1.863,10 2.152,56 2.136,43 2.049,72 1.973,12 1.441,56 346,71
Queries.PartialIndex.FullRange 182,72 1.207,43 1.283,42 1.287,80 1.245,08 1.124,40 1.041,78 1.355,92
Queries.PartialIndex.NonFilteredRange 431,85 1.021,71 1.186,80 1.255,11 1.179,53 958,56 1.145,35 1.247,08
Queries.ProjectExclude_LargeArray 820,94 684,04 765,71 96,39 92,45 95,41 572,06 823,98
Queries.RegexPrefixFindOne 991,54 789,27 766,86 1.081,52 1.078,01 837,09 883,12 1.068,80
Queries.TwoInts 1.067,33 552,68 593,64 1.072,09 949,97 934,89 923,27 255,57
Remove.IntId 1.643,27 1.280,16 1.540,90 1.602,48 1.562,38 1.435,79 1.202,63 1.615,66
Remove.IntNonIdIndex 1.621,43 1.292,18 1.570,70 1.608,08 1.572,45 1.548,55 1.163,34 1.592,97
Remove.IntNonIdNoIndex 1.385,75 1.147,50 1.300,19 1.308,72 1.247,21 1.202,27 1.003,98 1.328,84
Remove.IntNonIdUniqueIndex 1.622,25 1.444,82 1.624,38 1.558,93 1.477,01 1.266,53 1.433,48 1.519,07
Update.FieldAtOffset 470,07 491,87 481,13 465,62 430,29 477,76 480,81 477,78
Update.IncFewLargeDoc 1.047,76 933,94 1.074,63 1.045,81 953,13 949,61 1.020,33 1.045,76
Update.IncFewLargeDocLongFields 1.045,48 1.047,54 984,01 1.018,32 1.023,18 1.045,03 978,30 860,32
Update.IncFewSmallDoc 1.060,70 895,97 1.073,07 1.054,20 1.024,77 1.050,97 1.054,99 1.043,82
Update.IncFewSmallDocLongFields 1.044,89 1.069,97 972,86 1.017,07 1.037,76 1.048,58 972,92 1.037,87
Update.IncNoIndex 964,54 976,95 1.082,20 289,47 1.057,06 1.012,69 1.053,52 1.029,69
Update.IncNoIndexUpsert 998,96 1.056,66 1.033,29 699,59 1.040,61 1.048,01 971,44 1.037,18
Update.IncWithIndex 1.044,54 983,59 1.057,76 197,34 1.035,60 1.033,51 1.051,90 1.051,81
Update.IncWithIndexUpsert 1.006,43 1.042,28 1.040,45 1.016,85 1.049,29 1.051,95 952,07 1.035,84
Update.ManyElementsWithinArray 413,15 479,23 429,45 466,19 413,53 462,30 444,41 455,53
Update.MatchedElementWithinArray 814,85 977,42 838,37 954,68 857,27 957,55 901,13 960,32
Update.SetWithIgnoredIndex.Random 1.069,22 1.022,03 1.025,39 1.048,21 1.032,44 967,80 751,43 807,52
Update.SetWithIgnoredIndex.String 1.072,49 976,92 763,78 1.028,69 1.025,07 1.038,09 739,11 1.055,57
Update.SetWithIndex.Random 866,44 977,51 788,29 1.055,96 1.019,54 1.042,51 778,65 366,40
Update.SetWithMultiIndex.Random 1.056,61 1.052,06 983,22 1.007,76 1.029,99 678,91 703,64 196,71
Update.SetWithMultiIndex.String 1.012,97 1.008,94 988,20 1.027,00 999,44 990,87 818,38 977,40
Update.SingleDocFieldAtOffset 1.521,47 1.633,40 1.455,90 1.552,59 1.275,35 1.541,79 1.513,53 1.526,36
Update.UniqueIndex 897,50 969,29 1.031,53 1.034,25 974,51 986,25 980,18 1.033,86
Update.UniqueIndexCompoundReverse 1.064,17 1.050,34 967,86 1.003,89 659,07 1.006,09 986,01 1.019,17
4 Threads
Cenário
Aggregation.FindProjectionDottedField.Indexed 1.465,67 1.470,96 2.038,51 1.920,82 1.942,90 1.928,34 1.971,08 2.045,44
Aggregation.FindProjectionThreeFieldsCovered 2.109,28 1.439,08 1.997,53 1.927,54 1.958,09 1.981,67 1.392,57 2.064,42
Aggregation.IntNonIdFindOne 2.132,75 1.457,83 1.522,33 1.982,80 2.075,43 1.989,09 1.566,11 2.147,90
Aggregation.IntNonIdFindOneProjection 2.135,76 239,29 1.954,71 1.917,03 1.971,47 1.936,14 1.482,27 2.068,66
Aggregation.IntNonIdFindOneProjectionCovered 2.017,89 746,89 2.044,43 1.903,95 2.024,03 1.933,69 1.684,72 395,83
Aggregation.ProjectExclude_LargeArray 4,40 3,32 2,65 110,71 110,24 112,90 1.206,83 1.645,77
Aggregation.RegexPrefixFindOne 2.131,52 1.334,40 1.984,66 1.949,68 1.996,29 1.973,27 1.828,54 2.082,74
Aggregation.TwoInts 1.868,52 1.492,28 2.038,79 1.925,56 1.984,00 1.705,15 1.401,59 1.421,43
Insert.BigKeyIndex 430,64 445,60 425,83 455,07 446,80 445,43 351,05 449,46
Insert.Empty 540,12 1.822,74 1.926,65 2.140,17 2.159,80 1.688,32 2.033,31 2.157,06
Insert.EmptyCapped 400,14 1.571,68 2.044,74 2.141,96 2.156,06 2.058,96 2.101,73 2.181,35
Insert.EmptyCapped.SeqIntID 621,39 1.662,99 1.938,71 2.158,69 1.815,88 1.573,74 2.094,49 2.166,36
Insert.IntIDUpsert 2.150,30 1.806,64 1.971,12 2.129,73 2.040,54 1.772,86 1.984,35 2.119,81
Insert.IntVector 568,93 1.394,61 1.468,62 1.552,90 1.534,68 1.487,63 1.478,20 1.752,80
Insert.JustID 422,76 1.870,83 1.997,43 2.078,62 2.039,52 2.046,30 1.998,61 2.144,92
Insert.JustNum 2.109,52 1.927,48 1.885,26 2.144,59 2.093,47 1.984,30 2.016,96 2.145,00
Insert.JustNumIndexed 2.056,79 1.586,64 1.825,54 2.139,94 2.093,59 1.675,63 1.970,61 2.143,81
Insert.LargeDocVector 147,18 117,59 101,17 97,89 104,50 105,83 150,22 204,49
Insert.MultiIndex.Contested.Rnd 1.719,37 1.928,93 1.701,69 1.856,34 2.061,78 1.843,44 1.747,01 2.048,19
Insert.MultiIndex.Uncontested.Rnd 1.355,09 1.573,68 1.642,79 2.067,79 1.958,49 1.704,02 1.781,93 2.106,42
Insert.MultiKeyIndex.Contested.Rnd 1.999,29 1.980,90 1.848,73 2.113,15 2.080,08 2.008,38 1.451,10 2.061,77
Insert.MultiKeyIndex.Uncontested.Rnd 2.019,17 2.034,53 1.380,31 1.771,41 2.076,91 2.003,32 1.495,01 2.053,13
Insert.SeqIntID.Indexed 2.049,51 1.207,52 2.020,72 2.126,69 2.039,84 2.036,59 1.934,11 2.129,67
Insert.SingleIndex.Contested.Rnd 184,73 1.698,75 1.860,51 1.993,73 2.112,91 1.842,98 1.765,75 1.062,45
Insert.SingleIndex.Seq 566,07 2.028,91 1.827,76 2.182,43 2.017,03 2.070,55 1.815,85 587,19
Insert.SingleIndex.Uncontested.Rnd 624,78 1.921,31 1.513,28 1.891,69 1.962,50 1.858,66 1.709,16 410,17
Insert.UniqueIndex 2.027,16 1.455,42 1.731,93 2.137,72 2.076,55 1.771,58 1.953,20 2.126,56
Insert.UniqueIndexCompound 2.023,47 2.045,20 1.700,59 2.143,07 2.027,91 1.842,09 2.009,92 2.152,22
Insert.UniqueIndexCompoundReverse 2.051,10 2.007,68 1.965,06 2.160,31 2.070,41 1.904,22 2.018,98 2.150,28
InsertIndexedStringsNonSimpleCollation 1.992,00 1.656,45 1.738,97 2.093,36 2.031,12 2.000,64 2.047,34 2.130,75
InsertIndexedStringsSimpleCollation 2.089,83 1.679,83 1.947,10 2.107,17 1.959,46 1.988,39 2.046,56 2.160,96
Queries.FindProjectionDottedField.Indexed 2.106,73 1.142,20 2.051,65 1.938,91 2.013,86 1.924,21 1.232,65 2.110,78
Queries.FindProjectionThreeFieldsCovered 2.070,64 1.801,32 2.007,80 2.046,79 1.940,56 1.943,14 1.653,63 2.036,32
Queries.IdentityView.FindProjectionDottedField.Indexed 2.143,25 1.225,43 1.479,20 1.988,90 1.937,34 1.968,07 1.413,02 2.047,54
Queries.IdentityView.FindProjectionThreeFieldsCovered 1.965,13 1.375,63 1.972,99 1.960,69 1.917,09 1.896,62 1.681,92 1.960,25
Queries.IdentityView.IntNonIdFindOne 2.105,55 1.171,45 1.962,95 1.934,02 1.831,76 1.892,11 1.686,51 1.896,55
Queries.IdentityView.IntNonIdFindOneProjection 2.087,41 382,85 1.926,93 1.875,40 1.945,91 1.898,21 1.458,80 2.042,92
Queries.IdentityView.IntNonIdFindOneProjectionCovered 2.118,66 1.107,16 1.965,59 1.957,85 1.965,18 1.935,24 1.406,13 701,45
Queries.IdentityView.ProjectExclude_LargeArray 3,62 3,38 2,65 108,43 110,00 108,68 902,46 378,87
Queries.IdentityView.RegexPrefixFindOne 2.174,41 1.587,02 2.076,12 1.952,04 1.984,40 1.952,23 1.944,78 2.091,63
Queries.IdentityView.TwoInts 2.008,58 1.684,54 1.973,83 1.966,50 1.937,09 2.005,51 1.827,03 2.040,02
Queries.IntNonIdFindOne 1.698,38 1.620,48 1.579,70 1.967,70 1.799,11 1.797,31 1.448,72 2.095,47
Queries.IntNonIdFindOneProjection 2.147,93 299,00 1.818,57 1.968,54 1.981,47 1.881,56 1.441,98 2.092,45
Queries.IntNonIdFindOneProjectionCovered 2.148,17 1.230,94 2.051,26 1.941,98 2.076,30 1.961,77 1.429,71 632,97
Queries.PartialIndex.AllInFilter.FilteredRange 3.675,52 3.583,88 3.459,55 4.005,42 3.891,68 3.368,57 3.482,61 3.928,29
Queries.PartialIndex.AllInFilter.FullRange 4.078,34 3.848,79 2.560,63 3.987,49 4.169,26 4.017,19 2.934,01 3.999,56
Queries.PartialIndex.FilteredRange 4.038,97 3.876,91 2.611,31 3.796,74 4.169,82 3.713,39 3.031,26 678,78
Queries.PartialIndex.FullRange 2.284,13 2.458,67 2.094,97 2.454,52 2.474,45 2.250,06 2.142,21 484,57
Queries.PartialIndex.NonFilteredRange 2.313,91 2.465,83 2.140,77 2.471,11 2.151,43 2.128,80 1.939,96 478,65
Queries.ProjectExclude_LargeArray 1.710,72 795,45 1.518,58 104,74 109,96 106,82 835,11 1.451,48
Queries.RegexPrefixFindOne 2.018,23 1.480,29 1.982,35 1.985,93 1.989,28 2.005,34 2.053,05 2.137,57
Queries.TwoInts 2.035,01 1.813,44 1.676,56 1.911,41 1.822,19 1.828,65 1.556,43 2.080,73
Remove.IntId 2.696,21 2.258,78 3.080,52 3.147,28 2.948,76 2.897,51 2.321,37 3.075,39
Remove.IntNonIdIndex 2.781,64 2.210,52 2.992,05 3.125,92 2.934,72 2.795,41 2.404,35 3.115,44
Remove.IntNonIdNoIndex 2.377,21 2.092,83 2.556,35 2.547,90 2.564,18 2.452,00 2.225,96 2.652,35
Remove.IntNonIdUniqueIndex 3.006,78 2.130,52 2.931,47 3.099,53 2.896,79 3.021,05 2.174,95 3.036,50
Update.FieldAtOffset 939,68 995,47 898,32 936,10 891,26 916,23 826,39 983,39
Update.IncFewLargeDoc 2.047,16 2.060,13 1.276,99 1.922,45 1.988,20 2.013,43 1.355,25 2.086,74
Update.IncFewLargeDocLongFields 2.054,37 2.064,08 979,46 1.239,83 2.015,07 2.020,10 1.115,60 2.048,54
Update.IncFewSmallDoc 2.023,67 2.025,32 1.253,65 1.964,75 2.037,89 2.002,53 1.200,84 2.052,51
Update.IncFewSmallDocLongFields 2.087,20 1.967,66 1.189,48 1.942,05 1.967,26 2.013,29 1.528,74 2.016,41
Update.IncNoIndex 2.023,19 2.050,81 1.665,34 1.970,66 2.014,59 2.004,61 1.304,71 2.051,76
Update.IncNoIndexUpsert 1.988,87 2.043,59 1.804,45 1.878,32 2.074,82 2.073,29 1.324,67 2.069,83
Update.IncWithIndex 1.981,88 2.020,96 1.849,89 1.855,24 2.001,41 1.946,28 1.702,11 2.056,14
Update.IncWithIndexUpsert 1.990,04 1.991,59 1.799,33 1.878,11 2.001,76 1.988,93 1.396,35 2.014,66
Update.ManyElementsWithinArray 694,87 667,85 591,07 638,81 675,30 682,60 638,61 681,41
Update.MatchedElementWithinArray 1.908,47 1.867,87 1.671,65 1.763,65 1.874,31 1.838,68 1.547,17 1.895,55
Update.SetWithIgnoredIndex.Random 2.078,02 2.028,81 1.357,32 1.981,79 1.993,16 1.904,72 1.319,32 2.115,62
Update.SetWithIgnoredIndex.String 2.081,82 2.036,55 1.591,01 2.006,36 2.022,58 2.025,71 1.260,34 2.076,17
Update.SetWithIndex.Random 1.836,89 1.985,04 1.540,07 1.954,73 2.013,08 1.966,59 1.218,37 2.093,32
Update.SetWithMultiIndex.Random 2.067,77 2.043,29 1.470,07 1.964,50 2.054,73 1.970,81 1.280,45 2.133,01
Update.SetWithMultiIndex.String 1.770,84 1.673,08 1.656,29 1.731,79 1.795,61 1.753,53 1.232,46 1.818,70
Update.SingleDocFieldAtOffset 2.558,10 3.043,63 2.242,28 2.896,44 3.134,77 2.981,63 1.959,95 3.099,88
Update.UniqueIndex 2.020,92 1.941,97 1.718,29 1.947,41 2.038,72 2.016,82 1.320,24 1.998,20
Update.UniqueIndexCompoundReverse 1.979,27 1.975,46 1.792,66 1.883,88 2.030,66 1.921,79 1.622,01 2.008,03
8 Threads
Cenário
Aggregation.FindProjectionDottedField.Indexed 3.974,20 2.329,76 3.814,17 3.663,60 3.852,74 3.847,29 2.936,56 813,64
Aggregation.FindProjectionThreeFieldsCovered 3.775,84 3.111,84 3.494,03 3.626,39 3.768,70 3.843,68 2.984,58 3.759,98
Aggregation.IntNonIdFindOne 3.853,08 2.732,80 3.328,46 3.715,43 3.513,46 3.659,96 3.908,16 3.992,78
Aggregation.IntNonIdFindOneProjection 3.841,72 2.754,63 3.681,43 3.815,08 3.754,82 3.769,57 2.877,03 4.017,52
Aggregation.IntNonIdFindOneProjectionCovered 3.856,33 2.745,33 3.878,56 3.672,13 3.630,65 3.646,17 3.786,38 3.946,62
Aggregation.ProjectExclude_LargeArray 3,59 4,43 2,69 108,67 101,91 87,29 2.055,29 2.021,65
Aggregation.RegexPrefixFindOne 1.842,96 756,33 3.898,38 3.782,72 3.873,14 3.766,02 3.615,20 3.977,68
Aggregation.TwoInts 790,63 4.445,10 6.060,39 5.943,96 6.206,00 6.300,17 4.944,48 6.746,62
Insert.BigKeyIndex 507,10 527,92 492,92 530,15 547,38 480,06 495,26 526,31
Insert.Empty 6.902,72 3.212,14 3.789,47 4.026,99 6.842,70 6.386,68 6.486,69 3.849,80
Insert.EmptyCapped 6.367,27 4.327,08 3.895,02 4.138,99 5.777,43 5.976,81 5.756,65 2.057,95
Insert.EmptyCapped.SeqIntID 6.884,21 3.765,63 3.839,41 4.050,44 5.758,66 5.408,32 4.620,49 4.195,75
Insert.IntIDUpsert 3.829,44 2.647,89 3.495,91 3.143,26 3.929,69 3.666,43 3.698,54 3.955,88
Insert.IntVector 2.625,15 1.611,83 2.102,50 2.177,62 2.047,50 2.348,75 2.180,48 2.802,25
Insert.JustID 6.919,37 3.845,52 3.804,54 3.892,86 6.737,31 6.536,40 6.555,86 4.108,09
Insert.JustNum 6.630,92 3.996,72 3.401,50 6.896,94 6.825,86 6.521,51 4.609,95 4.104,46
Insert.JustNumIndexed 4.277,95 4.242,09 3.728,92 6.617,60 6.426,82 6.220,10 5.111,70 3.867,99
Insert.LargeDocVector 151,49 92,55 103,37 105,38 98,86 106,85 100,97 200,48
Insert.MultiIndex.Contested.Rnd 3.481,37 3.798,53 3.486,97 4.044,24 4.022,17 3.618,55 2.276,84 4.053,92
Insert.MultiIndex.Uncontested.Rnd 3.797,72 3.573,95 3.334,24 4.038,65 3.689,33 3.491,64 2.587,15 3.942,25
Insert.MultiKeyIndex.Contested.Rnd 3.767,87 3.869,36 2.773,45 3.981,25 3.370,14 3.938,48 2.521,24 4.043,39
Insert.MultiKeyIndex.Uncontested.Rnd 3.709,84 3.852,68 2.993,68 4.101,03 3.985,70 3.831,98 2.512,39 4.022,62
Insert.SeqIntID.Indexed 6.691,14 3.273,50 3.332,62 6.035,06 6.657,19 6.223,62 5.414,84 4.053,06
Insert.SingleIndex.Contested.Rnd 6.471,25 6.283,17 4.298,95 6.861,99 6.543,15 6.085,86 3.375,15 3.882,89
Insert.SingleIndex.Seq 6.199,83 6.720,84 4.776,02 6.977,37 6.490,10 6.759,82 3.513,89 3.967,25
Insert.SingleIndex.Uncontested.Rnd 3.195,23 3.806,27 2.945,79 4.092,47 4.024,94 3.700,46 3.216,19 3.965,95
Insert.UniqueIndex 2.372,41 3.403,40 3.889,42 6.809,33 6.842,90 6.357,36 4.374,27 3.937,22
Insert.UniqueIndexCompound 761,51 2.751,63 3.772,42 4.029,47 3.679,17 3.190,44 2.390,02 4.142,40
Insert.UniqueIndexCompoundReverse 1.420,57 2.807,08 3.916,69 4.039,06 3.977,37 2.631,87 2.567,22 4.074,20
InsertIndexedStringsNonSimpleCollation 757,02 2.721,24 2.606,52 3.939,57 3.650,93 3.649,89 3.063,12 4.134,00
InsertIndexedStringsSimpleCollation 1.345,07 3.103,80 3.607,52 3.850,89 3.858,93 3.617,03 1.835,40 4.160,80
Queries.FindProjectionDottedField.Indexed 3.624,43 2.511,73 3.339,24 3.762,79 3.871,33 3.751,39 2.744,80 4.036,64
Queries.FindProjectionThreeFieldsCovered 3.954,75 1.778,87 3.913,15 3.690,02 3.808,47 3.837,94 2.916,19 4.048,85
Queries.IdentityView.FindProjectionDottedField.Indexed 3.883,18 2.053,99 3.696,76 3.722,48 3.752,61 3.763,63 2.915,34 1.501,70
Queries.IdentityView.FindProjectionThreeFieldsCovered 4.053,92 2.713,60 3.653,73 3.692,23 3.854,50 3.701,34 2.438,46 3.927,97
Queries.IdentityView.IntNonIdFindOne 7.304,73 5.556,55 6.524,06 6.063,76 5.782,80 6.404,60 6.448,25 7.058,97
Queries.IdentityView.IntNonIdFindOneProjection 4.093,35 2.187,75 3.252,80 3.157,17 3.825,77 3.843,34 2.379,09 3.842,97
Queries.IdentityView.IntNonIdFindOneProjectionCovered 3.738,54 2.570,88 3.407,51 3.757,85 3.779,16 3.736,22 3.864,41 3.815,96
Queries.IdentityView.ProjectExclude_LargeArray 4,13 4,44 3,02 113,41 108,85 102,47 1.644,48 2.090,42
Queries.IdentityView.RegexPrefixFindOne 3.789,81 409,12 3.329,72 3.735,46 3.797,82 3.760,35 3.509,94 3.978,95
Queries.IdentityView.TwoInts 2.154,38 5.120,92 4.907,32 5.549,95 6.072,98 6.301,92 6.391,05 6.615,17
Queries.IntNonIdFindOne 6.331,84 3.912,83 2.932,64 6.116,18 6.481,64 5.880,31 6.382,83 6.637,69
Queries.IntNonIdFindOneProjection 3.675,00 2.349,92 3.797,64 3.740,08 3.824,52 3.863,38 2.784,93 4.054,36
Queries.IntNonIdFindOneProjectionCovered 3.814,22 3.268,18 3.300,14 3.739,37 3.784,24 3.881,77 3.598,01 3.988,98
Queries.PartialIndex.AllInFilter.FilteredRange 6.724,57 6.584,15 6.179,55 7.727,25 7.764,65 6.981,67 4.175,13 1.460,80
Queries.PartialIndex.AllInFilter.FullRange 12.720,81 12.926,38 5.573,81 12.879,27 12.775,73 12.819,41 8.192,07 1.453,81
Queries.PartialIndex.FilteredRange 13.004,89 12.630,37 6.290,12 13.151,52 13.320,24 12.586,46 6.355,81 7.576,60
Queries.PartialIndex.FullRange 6.443,27 6.979,87 3.716,03 6.448,59 6.150,79 5.401,97 4.156,13 823,27
Queries.PartialIndex.NonFilteredRange 4.691,05 4.530,44 3.068,72 4.649,39 4.755,82 4.148,56 3.067,17 1.778,74
Queries.ProjectExclude_LargeArray 2.130,96 1.466,20 1.601,94 101,99 105,05 93,76 1.861,07 2.051,74
Queries.RegexPrefixFindOne 3.902,11 1.174,37 3.561,57 3.739,73 3.764,43 3.788,44 3.671,81 4.086,69
Queries.TwoInts 1.729,63 252,22 6.070,65 6.203,02 5.903,36 5.805,31 4.653,69 6.481,44
Remove.IntId 8.679,77 7.664,24 9.586,29 10.228,76 9.676,14 9.484,21 10.170,84 5.720,41
Remove.IntNonIdIndex 5.889,09 3.501,37 6.723,06 6.893,29 6.493,42 6.389,60 6.060,72 6.088,82
Remove.IntNonIdNoIndex 4.045,50 3.798,01 5.154,45 5.144,34 5.008,42 4.794,21 5.026,99 5.213,79
Remove.IntNonIdUniqueIndex 5.927,39 4.406,42 6.767,10 6.651,16 6.596,98 6.544,65 6.345,44 5.959,39
Update.FieldAtOffset 1.814,15 1.922,38 1.741,03 1.755,06 1.738,00 1.802,85 1.535,20 1.913,23
Update.IncFewLargeDoc 3.802,65 3.809,97 3.400,45 3.892,27 3.828,79 3.799,63 2.738,50 3.987,18
Update.IncFewLargeDocLongFields 3.576,40 3.671,24 2.777,34 2.915,66 3.801,78 3.760,61 3.027,71 3.813,54
Update.IncFewSmallDoc 3.759,27 3.763,83 3.663,11 3.831,23 3.766,67 3.774,87 2.169,40 3.950,84
Update.IncFewSmallDocLongFields 3.491,92 3.644,57 2.496,52 3.658,37 3.745,08 3.602,90 2.383,13 3.811,93
Update.IncNoIndex 3.831,64 3.925,51 3.620,47 3.835,07 3.346,24 3.802,30 3.878,32 3.962,30
Update.IncNoIndexUpsert 3.787,79 3.926,64 3.860,42 3.782,07 3.667,67 3.841,29 2.834,02 3.974,26
Update.IncWithIndex 3.771,46 3.938,18 3.625,32 3.921,27 3.882,87 3.867,75 3.318,00 3.952,32
Update.IncWithIndexUpsert 3.845,41 3.884,89 3.675,58 3.892,95 3.837,67 3.785,42 3.231,57 4.014,99
Update.ManyElementsWithinArray 873,53 883,98 603,08 851,66 890,57 888,56 903,66 878,64
Update.MatchedElementWithinArray 3.643,47 3.724,34 2.620,90 3.298,92 3.638,38 3.745,59 3.354,36 3.658,91
Update.SetWithIgnoredIndex.Random 3.767,77 3.820,96 3.791,34 3.833,91 3.934,65 3.833,94 2.432,69 3.979,04
Update.SetWithIgnoredIndex.String 3.870,39 3.905,12 3.776,64 3.868,73 3.785,82 3.828,55 2.589,16 3.701,03
Update.SetWithIndex.Random 3.197,45 3.944,44 3.804,85 3.664,30 3.837,14 3.658,75 2.468,09 3.938,28
Update.SetWithMultiIndex.Random 3.858,74 3.651,27 2.836,02 3.873,88 3.841,65 3.603,18 2.604,45 3.733,51
Update.SetWithMultiIndex.String 2.713,69 2.817,88 2.728,62 2.773,41 2.796,12 2.796,70 1.556,64 2.843,87
Update.SingleDocFieldAtOffset 5.663,20 5.771,71 5.184,62 5.732,85 5.077,04 5.749,83 4.457,62 5.981,02
Update.UniqueIndex 3.873,28 3.926,91 3.085,05 3.806,32 3.957,62 3.865,52 3.640,52 3.948,82
Update.UniqueIndexCompoundReverse 3.718,96 3.842,88 3.008,98 3.721,20 3.875,18 3.833,29 3.304,33 3.910,17
16 Threads
Cenário
Aggregation.FindProjectionDottedField.Indexed 2.268,24 3.809,01 6.233,36 5.742,52 4.018,94 6.120,10 5.798,95 6.551,84
Aggregation.FindProjectionThreeFieldsCovered 6.240,93 5.436,75 6.078,55 5.965,51 4.057,61 6.034,12 6.093,79 6.321,56
Aggregation.IntNonIdFindOne 5.770,60 4.783,06 6.255,62 6.097,52 4.087,09 5.940,96 5.659,98 5.851,13
Aggregation.IntNonIdFindOneProjection 6.213,00 3.725,61 6.101,77 5.916,26 4.069,36 5.928,22 6.191,77 6.306,03
Aggregation.IntNonIdFindOneProjectionCovered 5.710,96 5.389,57 6.078,00 5.835,11 3.868,68 6.050,09 5.911,81 6.327,62
Aggregation.ProjectExclude_LargeArray 3,55 3,75 2,66 63,65 51,07 60,71 2.403,11 2.656,95
Aggregation.RegexPrefixFindOne 6.462,77 3.887,88 6.299,52 5.983,17 4.374,15 6.150,46 6.218,88 1.270,57
Aggregation.TwoInts 8.152,82 5.922,57 8.649,13 7.205,53 5.765,19 8.175,49 8.398,47 7.009,04
Insert.BigKeyIndex 512,42 523,40 469,78 540,45 531,44 547,73 496,85 515,76
Insert.Empty 9.212,58 5.056,48 8.223,45 8.974,76 8.210,68 8.344,94 8.170,69 7.905,01
Insert.EmptyCapped 8.614,45 6.696,03 8.182,35 8.416,89 7.389,78 7.626,27 6.973,56 8.017,76
Insert.EmptyCapped.SeqIntID 7.547,40 7.553,43 7.863,44 8.663,26 7.149,40 6.841,70 7.004,71 7.237,96
Insert.IntIDUpsert 5.910,03 3.893,74 5.808,75 6.181,19 6.004,68 6.097,64 6.208,95 7.519,04
Insert.IntVector 4.436,07 3.649,46 3.591,44 3.942,68 3.748,68 3.839,73 3.907,23 4.950,53
Insert.JustID 8.669,34 7.403,49 7.904,03 8.188,08 8.208,81 8.323,38 8.580,73 7.595,80
Insert.JustNum 8.531,05 5.130,49 7.766,85 8.606,75 8.234,00 8.127,51 8.878,77 7.867,75
Insert.JustNumIndexed 6.653,86 8.228,92 7.537,28 8.680,33 8.024,32 8.221,07 8.729,19 7.811,05
Insert.LargeDocVector 32,06 103,09 103,45 107,70 100,52 103,36 103,51 190,45
Insert.MultiIndex.Contested.Rnd 5.604,35 5.914,57 5.282,43 6.037,71 6.199,50 5.942,71 3.916,42 6.579,37
Insert.MultiIndex.Uncontested.Rnd 5.699,50 6.330,95 6.436,65 6.508,42 6.088,84 5.847,65 4.632,70 6.585,47
Insert.MultiKeyIndex.Contested.Rnd 6.265,60 5.948,19 4.553,25 6.375,62 6.278,23 6.355,33 4.160,08 6.337,13
Insert.MultiKeyIndex.Uncontested.Rnd 5.800,14 6.130,63 4.193,99 5.521,26 5.560,91 6.248,66 4.240,02 6.375,82
Insert.SeqIntID.Indexed 8.961,74 6.396,88 7.083,87 8.286,25 7.872,46 8.401,58 8.756,09 7.259,40
Insert.SingleIndex.Contested.Rnd 7.992,88 7.764,45 6.737,31 8.346,75 8.914,56 8.248,83 5.671,22 6.647,94
Insert.SingleIndex.Seq 8.407,15 8.532,29 7.216,85 8.583,43 8.780,40 8.653,36 5.027,00 6.819,42
Insert.SingleIndex.Uncontested.Rnd 6.162,11 6.302,31 4.772,38 6.101,36 6.364,27 6.261,44 4.257,60 6.751,40
Insert.UniqueIndex 6.560,32 7.840,90 7.629,72 8.847,40 8.097,12 8.397,22 8.533,80 7.878,45
Insert.UniqueIndexCompound 5.383,08 4.069,56 6.234,21 6.268,86 6.185,33 5.680,87 4.963,13 7.615,32
Insert.UniqueIndexCompoundReverse 2.512,59 5.927,50 6.216,04 6.014,65 6.371,94 6.058,43 4.702,57 7.656,48
InsertIndexedStringsNonSimpleCollation 5.012,87 3.874,69 5.813,25 6.300,02 6.374,53 5.578,35 4.922,43 7.862,98
InsertIndexedStringsSimpleCollation 4.459,98 4.328,26 5.902,36 6.116,25 6.129,90 5.821,99 4.059,61 7.560,15
Queries.FindProjectionDottedField.Indexed 3.064,18 4.348,22 6.253,54 6.148,49 4.228,22 6.161,60 5.873,60 6.634,76
Queries.FindProjectionThreeFieldsCovered 6.425,19 4.666,39 6.202,28 6.007,46 4.001,41 5.928,46 6.202,90 5.531,55
Queries.IdentityView.FindProjectionDottedField.Indexed 1.597,82 4.829,71 6.305,97 5.974,98 3.815,96 6.220,15 6.343,42 6.854,90
Queries.IdentityView.FindProjectionThreeFieldsCovered 6.245,71 4.050,85 5.947,19 5.806,52 3.887,34 5.942,14 6.167,18 6.489,94
Queries.IdentityView.IntNonIdFindOne 9.045,08 5.542,77 8.817,97 7.577,58 6.690,65 8.424,02 8.680,40 6.850,27
Queries.IdentityView.IntNonIdFindOneProjection 6.499,19 3.911,64 6.097,71 5.935,35 4.432,02 5.954,25 6.386,46 6.928,09
Queries.IdentityView.IntNonIdFindOneProjectionCovered 6.380,31 4.247,06 6.065,30 6.057,21 4.431,99 6.172,36 6.174,28 6.754,21
Queries.IdentityView.ProjectExclude_LargeArray 3,49 3,65 2,82 52,29 80,16 51,26 2.450,18 2.599,24
Queries.IdentityView.RegexPrefixFindOne 6.401,56 4.479,26 6.215,81 5.734,38 3.906,51 6.206,84 6.241,34 2.327,95
Queries.IdentityView.TwoInts 8.920,11 5.627,40 8.707,28 7.759,11 6.337,36 8.521,26 8.697,84 6.799,04
Queries.IntNonIdFindOne 8.275,69 668,14 8.425,97 8.020,84 5.048,23 8.652,21 8.663,66 6.759,52
Queries.IntNonIdFindOneProjection 6.238,42 4.513,72 6.168,98 6.057,19 3.820,76 6.087,54 6.030,32 6.674,99
Queries.IntNonIdFindOneProjectionCovered 6.274,50 3.616,14 6.222,98 6.087,49 5.066,53 6.149,71 6.119,86 6.572,13
Queries.PartialIndex.AllInFilter.FilteredRange 11.679,64 11.354,90 10.959,74 12.308,58 11.918,71 11.862,06 7.873,03 13.251,53
Queries.PartialIndex.AllInFilter.FullRange 16.647,94 15.085,80 15.551,04 16.798,04 16.648,79 16.924,29 10.629,73 13.523,61
Queries.PartialIndex.FilteredRange 15.835,41 15.234,96 14.047,65 17.023,15 16.934,38 16.756,73 12.400,98 13.370,99
Queries.PartialIndex.FullRange 9.816,05 9.531,88 8.290,68 9.358,33 9.043,47 7.809,06 7.132,63 8.737,22
Queries.PartialIndex.NonFilteredRange 7.917,54 8.036,37 6.862,52 7.692,94 6.532,21 6.054,01 5.125,70 8.788,57
Queries.ProjectExclude_LargeArray 2.771,19 2.066,90 2.038,63 84,96 60,67 48,58 2.640,35 2.667,75
Queries.RegexPrefixFindOne 6.255,63 5.515,36 6.233,94 5.950,09 4.223,26 6.317,36 6.338,60 2.479,81
Queries.TwoInts 8.090,58 4.964,69 8.714,63 7.593,34 5.562,74 8.494,55 8.306,38 5.238,30
Remove.IntId 2.321,03 9.018,91 12.972,18 12.703,89 10.130,68 12.364,90 9.458,04 12.226,17
Remove.IntNonIdIndex 1.512,08 9.211,40 11.204,29 11.357,01 11.322,52 11.247,42 9.468,27 11.202,22
Remove.IntNonIdNoIndex 2.423,65 4.889,45 9.600,34 9.633,84 9.599,44 8.935,66 8.109,97 9.429,73
Remove.IntNonIdUniqueIndex 9.209,19 5.297,17 11.367,54 11.486,13 11.358,91 11.012,77 8.257,02 11.435,45
Update.FieldAtOffset 2.889,96 3.055,16 2.809,03 2.679,78 2.702,82 2.801,44 2.200,13 3.408,60
Update.IncFewLargeDoc 6.029,52 6.013,99 5.489,09 5.972,71 6.050,02 5.997,90 4.089,03 6.018,12
Update.IncFewLargeDocLongFields 5.887,58 5.988,83 3.732,78 5.890,07 5.081,43 5.931,31 4.015,19 6.083,37
Update.IncFewSmallDoc 6.026,41 6.115,95 5.997,53 5.700,56 5.957,73 5.994,89 3.128,15 5.698,04
Update.IncFewSmallDocLongFields 5.893,05 5.968,93 4.955,41 6.046,87 5.879,81 5.981,52 3.622,15 5.634,18
Update.IncNoIndex 6.239,42 6.194,84 4.667,11 5.000,86 5.011,31 6.116,75 4.739,13 5.606,43
Update.IncNoIndexUpsert 6.154,58 6.167,01 5.574,71 6.033,96 5.392,56 5.963,98 5.544,68 6.306,17
Update.IncWithIndex 6.047,55 6.273,32 4.702,06 5.352,71 5.474,88 6.224,70 3.561,33 6.317,22
Update.IncWithIndexUpsert 6.042,66 6.247,27 5.084,17 6.152,90 5.437,46 6.220,47 4.312,69 6.178,67
Update.ManyElementsWithinArray 1.003,69 1.053,20 1.452,59 720,07 997,94 803,39 1.038,79 1.064,54
Update.MatchedElementWithinArray 5.575,73 5.548,69 4.119,40 5.998,30 5.704,66 5.719,65 3.275,16 5.778,47
Update.SetWithIgnoredIndex.Random 5.983,11 5.941,61 5.693,82 5.392,91 6.031,84 6.057,73 4.496,05 6.496,16
Update.SetWithIgnoredIndex.String 6.093,58 6.241,64 6.252,20 5.520,57 5.953,45 6.079,83 4.175,50 6.412,12
Update.SetWithIndex.Random 6.223,90 6.145,28 4.153,65 6.022,91 6.184,04 6.276,41 4.208,45 6.531,03
Update.SetWithMultiIndex.Random 6.135,82 6.211,07 5.988,63 6.122,36 5.898,44 6.095,18 3.910,60 6.415,47
Update.SetWithMultiIndex.String 4.139,77 4.097,18 4.113,24 4.086,66 4.140,62 4.221,21 3.242,07 1.402,13
Update.SingleDocFieldAtOffset 9.334,96 9.210,83 8.702,74 9.465,89 9.408,56 9.202,37 8.281,44 9.324,42
Update.UniqueIndex 5.787,61 6.282,54 5.967,15 6.752,86 6.216,44 6.165,37 4.111,89 6.417,95
Update.UniqueIndexCompoundReverse 5.895,15 6.195,69 6.014,30 6.311,69 6.120,61 6.229,54 5.391,47 6.335,64

Conclusão

Deixarei o julgamento final para você.

Isso porque uma das ideias por trás do uso de diferentes números de threads foi permitir que aqueles com recursos limitados pudessem entender melhor o que esperar do Mongo nestes cenários.

É quase impossível tirar uma conclusão de todos esses testes e expressá-la em uma única observação. Portanto, leve o seu tempo, examine os dados e a metodologia mais de perto e sinta-se à vontade para compartilhar suas opiniões na seção de comentários abaixo.

Dito isso, algumas considerações gerais podem ser compartilhadas.

Na minha opinião, não é.

Se olharmos para o componente principal, como a engine WiredTiger, ela mudou drasticamente para acomodar todas as novas funcionalidades e reforços de segurança (hardening) em torno do produto que você gosta; compará-los neste ponto é como comparar produtos diferentes.

Ainda assim, vale a pena também mencionar que essas mudanças não devem ser usadas para justificar regressões de desempenho em novas releases. Embora não seja justo comparar ambos os produtos, você é o seu próprio benchmark; e uma coisa que sabemos com certeza é que os usuários não aceitam ser enganados, especialmente quando se trata de perda de desempenho.

De acordo com as publicações nos posts do blog da equipe de engenharia (1, 2, 3), eles estavam cientes disso, e a abordagem mudou para o MongoDB 8:

[..] For instance, if any commit would regress a benchmark by more than 5% for our most important workloads, we would revert the commit. However, this threshold does not detect regressions of 0.1%, and there are thousands of commits per release (e.g., more than 9000 in MongoDB 8.0).

During the release of MongoDB 7.0, we started to take this gradual accumulation of performance loss by tiny regressions of release over release regressions seriously, so we changed the rules of the game. We decided we could not ship MongoDB 7.0 unless it at least matched MongoDB 6.0’s performance on the most important benchmarks.

É discutível se o 7.0 tem o mesmo desempenho do MongoDB 6.0, seja com base nos testes acima ou na experiência pessoal após trabalhar com todas essas releases.

Ainda assim, há uma coisa que este estudo e as notas dos engenheiros têm em comum

Vale observar que este estudo não cobre áreas como consumo de recursos, que é um ótimo candidato para uma séries de posts separados.

Mas, neste momento, minha recomendação pessoal é fazer o upgrade para a release 8.0 o mais rápido possível para aproveitar essas melhorias.

Outra observação final e um fato curioso deste estudo é que, se removermos o MongoDB 8.0 dos resultados, podemos ver o MongoDB 3.6 lutando pela segunda release mais performática neste teste de benchmark, apresentando resultados ótimos e consistentes no geral.

Sinta-se à vontade para deixar sua opinião nos comentários abaixo, ou sinta-se à vontade para me contatar no LinkedIn.

Até mais!

Referências:

  1. MongoDB 8.0: Raising the Bar

  2. MongoDB 8.0: Eating Our Own Dog Food

  3. MongoDB 8.0: Improving Performance, Avoiding Regressions

Anterior
Fazendo downgrade do MongoDB 8.0 para 7.0
Próximo
Benchmarking MongoDB do 3.6 ao 8.0 - Parte 1