Todos os produtos
Search
Central de documentação

ApsaraDB for MongoDB:White paper de desempenho

Última atualização: Jul 04, 2026

Resultados de benchmarks YCSB para o ApsaraDB for MongoDB em arquiteturas de servidor físico e disco em nuvem, abrangendo diversas especificações de instância e proporções de leitura e escrita.

Ambiente de teste

Parâmetro

ECS para teste de estresse

ApsaraDB for MongoDB (Servidor Físico)

ApsaraDB for MongoDB (Disco em Nuvem)

Região e zona

China (Hangzhou) Zona H

China (Hangzhou) Zona H

China (Hangzhou) Zona H

Tipo de rede

VPC

VPC

VPC

Família da instância

c6e (Otimizada para computação, desempenho aprimorado)

Uso geral e dedicada

Dedicada

Tipo de instância

ecs.c6e.2xlarge (8 núcleos, 16 GB)

Resultados dos testes

Resultados dos testes

Tipo de armazenamento

Disco em nuvem ESSD PL1

SSD Local

Disco em nuvem ESSD PL1

Espaço de armazenamento

-

500 GB

500 GB

Topologia

-

Conjunto de réplicas padrão de três nós (um primário, um secundário e um nó oculto)

Conjunto de réplicas padrão de três nós (um primário, um secundário e um nó oculto)

Versão da imagem

Alibaba Cloud Linux 3.2104 LTS 64 bits

3.10.0-327.ali2017.alios7.x86_64

4.19.81-17.2.al7.x86_64

Versão do kernel da instância

-

MongoDB 4.2 (versão menor base 4.2.13)

MongoDB 4.4 (versão menor base 4.4.1)

Configuração de consistência

-

Read/write concern padrão

Read/write concern padrão

Nota

As instâncias ECS e ApsaraDB for MongoDB estão na mesma região e zona. Tempo de ida e volta (RTT): aproximadamente 0,104 ms.

Ferramenta de teste

Este teste utiliza o YCSB 0.17.0 para benchmarking.

Nota

O YCSB é uma ferramenta de benchmarking baseada em Java para diversos bancos de dados.

Procedimento de teste

  1. Adicione o primary private IP address da instância ECS à lista de permissões do ApsaraDB for MongoDB. Modificar uma lista de permissões.

    Nota

    Acesse o console ECS e visualize o primary private IP address da instância ECS na seção Network Information da página Instance Details.

  2. Conecte-se à instância ECS. Conectar-se a uma instância ECS.

  3. Carregue os dados de teste com a ferramenta YCSB.

    ./bin/ycsb load mongodb -s -p workload=site.ycsb.workloads.CoreWorkload -p recordcount=1000000 -p mongodb.url="mongodb://test:****@dds-bp13e84d11****.mongodb.rds.aliyuncs.com:3717/admin" -threads 8

    Modifique os seguintes parâmetros:

    • recordcount=1000000: Quantidade total de registros a carregar na instância ApsaraDB for MongoDB.

    • mongodb.url="mongodb://test:****@dds-bp13e84d11****.mongodb.rds.aliyuncs.com:3717/admin": Endpoint da instância ApsaraDB for MongoDB. Neste exemplo, a conta do banco de dados é test e o banco de dados é admin.

      Nota

      Acesse o console do ApsaraDB for MongoDB e visualize o endpoint na seção Private Connection - VPC da página Database Connection.

    • threads 8: Número de threads simultâneas do cliente.

  4. Execute o comando abaixo para realizar o teste de estresse.

    ./bin/ycsb run mongodb -s -p workload=site.ycsb.workloads.CoreWorkload -p recordcount=1000000 -p operationcount=5000000 -p insertproportion=0 -p readproportion=50 -p updateproportion=50 -p requestdistribution=zipfian -p mongodb.url="mongodb://test:****@dds-bp13e84d11****.mongodb.rds.aliyuncs.com:3717/admin" -threads 8

    Modifique os seguintes parâmetros:

    • recordcount=1000000: Total de registros de dados carregados na instância ApsaraDB for MongoDB.

    • operationcount=5000000: Quantidade de operações de leitura e escrita a executar.

    • insertproportion=0: Proporção de operações de inserção.

    • readproportion=50: Proporção de operações de leitura.

    • updateproportion=50: Proporção de operações de atualização.

    • mongodb.url="mongodb://test:****@dds-bp13e84d11****.mongodb.rds.aliyuncs.com:3717/admin": Endpoint da instância ApsaraDB for MongoDB. Neste exemplo, a conta do banco de dados é test e o banco de dados é admin.

      Nota

      Acesse o console do ApsaraDB for MongoDB e visualize os endpoints da instância na seção Internal Connections - VPC da página Database Connections.

    • threads 8: Número de threads simultâneas no cliente.

Resultados dos testes

Cenários

  • r:w=100:0: 100% leitura, 0% escrita.

  • r:w=95:5: 95% leitura, 5% escrita.

  • r:w=50:50: 50% leitura, 50% escrita.

  • r:w=5:95: 5% leitura, 95% escrita.

  • r:w=0:100: 0% leitura, 100% escrita.

Parâmetros

  • recordcount: Total de registros carregados na instância ApsaraDB for MongoDB.

  • operationcount: Total de operações de leitura e escrita.

  • threads: Threads simultâneas do cliente.

  • throughput: Operações por segundo (OPS).

  • RAL: Latência média de leitura em microssegundos (us).

  • WAL: Latência média de escrita em microssegundos (us).

Nota

Se RAL ou WAL for 0, nenhuma operação de leitura ou escrita foi executada.

As tabelas e gráficos a seguir comparam as arquiteturas de servidor físico e disco em nuvem em várias proporções de leitura e escrita.

Instância de servidor físico (MongoDB 4.2)

Carregar dados de teste

CPU/Memória

Especificação da instância

Recordcount

Threads

Throughput

RAL

WAL

1:2

1 núcleo, 2 GB (uso geral)

1.000.000

4

3.589

0

1.110

2 núcleos, 4 GB (uso geral)

2.000.000

8

7.629

0

521

4 núcleos, 8 GB (uso geral)

4.000.000

16

24.300

0

654

8 núcleos, 16 GB (uso geral)

8.000.000

32

26.745

0

1.191

1:4

8 núcleos, 32 GB (uso geral)

16.000.000

32

29.090

0

1.095

16 núcleos, 64 GB (uso geral)

32.000.000

128

41.098

0

3.033

1:8

2 núcleos, 16 GB (dedicada)

8.000.000

8

6.553

0

1.217

4 núcleos, 32 GB (dedicada)

16.000.000

16

14.526

0

1.097

8 núcleos, 64 GB (dedicada)

32.000.000

32

35.437

0

899

16 núcleos, 128 GB (dedicada)

64.000.000

160

60.078

0

2.658

r:w=100:0

CPU:memória

Especificação da instância

Contagem de operações

Threads

Throughput

RAL

WAL

1:2

1 núcleo, 2 GB (uso geral)

1.000.000

4

6.387

623

0

2 núcleos, 4 GB (uso geral)

2.000.000

8

12.893

616

0

4 núcleos, 8 GB (uso geral)

4.000.000

16

37.016

427

0

8 núcleos, 16 GB (uso geral)

8.000.000

32

48.014

658

0

1:4

8 núcleos, 32 GB (uso geral)

16.000.000

32

44.251

1.589

0

16 núcleos, 64 GB (uso geral)

32.000.000

128

57.252

2.226

0

1:8

2 núcleos, 16 GB (dedicada)

8.000.000

8

12.436

641

0

4 núcleos, 32 GB (dedicada)

16.000.000

16

20.551

773

0

8 núcleos, 64 GB (dedicada)

32.000.000

32

50.246

632

0

16 núcleos, 128 GB (dedicada)

64.000.000

160

66.876

2.385

0

r:w=95:5

CPU:Memória

Tipo de instância

Operationcount

Threads

Throughput

RAL

WAL

1:2

1 núcleo, 2 GB (uso geral)

1.000.000

4

4.556

864

1.079

2 núcleos, 4 GB (uso geral)

2.000.000

8

10.391

757

914

4 núcleos, 8 GB (uso geral)

4.000.000

16

34.411

453

561

8 núcleos, 16 GB (uso geral)

8.000.000

32

41.095

763

925

1:4

8 núcleos, 32 GB (uso geral)

16.000.000

32

39.920

785

926

16 núcleos, 64 GB (uso geral)

32.000.000

128

55.148

2.305

2.381

1:8

2 núcleos, 16 GB (dedicada)

8.000.000

8

8.869

871

1.394

4 núcleos, 32 GB (dedicada)

16.000.000

16

18.206

856

1.192

8 núcleos, 64 GB (dedicada)

32.000.000

32

47.111

664

861

16 núcleos, 128 GB (dedicada)

64.000.000

160

68.801

2.312

2.449

r:w=50:50

CPU:Memória

Tipo de instância

Operationcount

Threads

Throughput

RAL

WAL

1:2

1 núcleo, 2 GB (uso geral)

1.000.000

4

3.062

1.207

1.399

2 núcleos, 4 GB (uso geral)

2.000.000

8

6.610

1.128

1.318

4 núcleos, 8 GB (uso geral)

4.000.000

16

19.743

743

864

8 núcleos, 16 GB (uso geral)

8.000.000

32

22.750

987

1.809

1:4

8 núcleos, 32 GB (uso geral)

16.000.000

32

21.763

1.010

1.907

16 núcleos, 64 GB (uso geral)

32.000.000

128

43.498

2.162

3.696

1:8

2 núcleos, 16 GB (dedicada)

8.000.000

8

5.680

1.345

1.930

4 núcleos, 32 GB (dedicada)

16.000.000

16

10.470

1.064

1.971

8 núcleos, 64 GB (dedicada)

32.000.000

32

20.427

790

2.329

16 núcleos, 128 GB (dedicada)

64.000.000

160

29.445

2.944

7.891

r:w=5:95

CPU:Memória

Especificação da instância

Contagem de operações

Threads

Throughput

RAL

WAL

1:2

1 núcleo, 2 GB (uso geral)

1.000.000

4

2.431

1.511

1.649

2 núcleos, 4 GB (uso geral)

2.000.000

8

5.336

1.406

1.608

4 núcleos, 8 GB (uso geral)

4.000.000

16

14.496

858

1.110

8 núcleos, 16 GB (uso geral)

8.000.000

32

14.573

958

2.253

1:4

8 núcleos, 32 GB (uso geral)

16.000.000

32

13.812

995

2.377

16 núcleos, 64 GB (uso geral)

32.000.000

128

20.663

2.831

6.348

1:8

2 núcleos, 16 GB (dedicada)

8.000.000

8

4.079

3.201

8.066

4 núcleos, 32 GB (dedicada)

16.000.000

16

7.154

1.080

2.288

8 núcleos, 64 GB (dedicada)

32.000.000

32

12.585

783

2.626

16 núcleos, 128 GB (dedicada)

64.000.000

160

17.083

4.241

9.615

Carga de trabalho 100% escrita

CPU:Memória

Especificação da instância

Contagem de operações

Threads

Throughput

RAL

WAL

1:2

1 núcleo, 2 GB (uso geral)

1.000.000

4

2.429

0

1.642

2 núcleos, 4 GB (uso geral)

2.000.000

8

5.238

0

1.643

4 núcleos, 8 GB (uso geral)

4.000.000

16

13.794

0

1.154

8 núcleos, 16 GB (uso geral)

8.000.000

32

14.566

0

2.189

1:4

8 núcleos, 32 GB (uso geral)

16.000.000

32

13.485

0

2.361

16 núcleos, 64 GB (uso geral)

32.000.000

128

19.758

0

6.461

1:8

2 núcleos, 16 GB (dedicada)

8.000.000

8

3.939

0

8.097

4 núcleos, 32 GB (dedicada)

16.000.000

16

6.940

0

2.298

8 núcleos, 64 GB (dedicada)

32.000.000

32

12.567

0

2.539

16 núcleos, 128 GB (dedicada)

64.000.000

160

16.325

0

9.770

Instância com arquitetura de disco em nuvem (MongoDB 4.4)

Desempenho de carregamento de dados

CPU:memória

Especificação da instância

Recordcount

Threads

Throughput

RAL

WAL

1:2

4 núcleos, 8 GB (dedicada)

4.000.000

16

18.235

0

871

8 núcleos, 16 GB (dedicada)

8.000.000

32

35.643

0

891

16 núcleos, 32 GB (dedicada)

16.000.000

64

65.345

0

971

1:4

2 núcleos, 8 GB (dedicada)

4.000.000

8

6.613

0

1.202

8 núcleos, 32 GB (dedicada)

16.000.000

64

45.952

0

1.385

16 núcleos, 64 GB (dedicada)

32.000.000

96

61.973

0

1.539

1:8

2 núcleos, 16 GB (dedicada)

8.000.000

8

6.224

0

1.280

4 núcleos, 32 GB (dedicada)

16.000.000

16

18.603

0

857

r:w=100:0

CPU:memória

Especificação da instância

Operationcount

Threads

Throughput

RAL

WAL

1:2

4 núcleos, 8 GB (dedicada)

4.000.000

16

24.945

634

0

8 núcleos, 16 GB (dedicada)

8.000.000

32

33.270

938

0

16 núcleos, 32 GB (dedicada)

16.000.000

64

55.703

1.136

0

1:4

2 núcleos, 8 GB (dedicada)

4.000.000

8

10.989

723

0

8 núcleos, 32 GB (dedicada)

16.000.000

64

36.039

1.740

0

16 núcleos, 64 GB (dedicada)

32.000.000

96

59.960

1.585

0

1:8

2 núcleos, 16 GB (dedicada)

8.000.000

8

11.298

703

0

4 núcleos, 32 GB (dedicada)

16.000.000

16

24.306

653

0

r:w=95:5

CPU:memória

Especificação da instância

Operationcount

Threads

Throughput

RAL

WAL

1:2

4 núcleos, 8 GB (dedicada)

4.000.000

16

22.471

797

1.161

8 núcleos, 16 GB (dedicada)

8.000.000

32

29.543

1.064

1.199

16 núcleos, 32 GB (dedicada)

16.000.000

64

53.466

1.178

1.300

1:4

2 núcleos, 8 GB (dedicada)

4.000.000

8

8.986

854

1.480

8 núcleos, 32 GB (dedicada)

16.000.000

64

34.128

1.829

1.970

16 núcleos, 64 GB (dedicada)

32.000.000

96

78.363

1.196

1.420

1:8

2 núcleos, 16 GB (dedicada)

8.000.000

8

8.806

867

1.619

4 núcleos, 32 GB (dedicada)

16.000.000

16

20.132

770

1.181

r:w=50:50

CPU:memória

Especificação da instância

Operationcount

Threads

Throughput

RAL

WAL

1:2

4 núcleos, 8 GB (dedicada)

4.000.000

16

14.127

1.009

1.238

8 núcleos, 16 GB (dedicada)

8.000.000

32

19.887

1.496

1.670

16 núcleos, 32 GB (dedicada)

16.000.000

64

23.120

2.680

2.819

1:4

2 núcleos, 8 GB (dedicada)

4.000.000

8

5.132

1.370

1.735

8 núcleos, 32 GB (dedicada)

16.000.000

64

18.929

2.930

3.615

16 núcleos, 64 GB (dedicada)

32.000.000

96

25.612

3.675

4.363

1:8

2 núcleos, 16 GB (dedicada)

8.000.000

8

4.841

1.438

1.855

4 núcleos, 32 GB (dedicada)

16.000.000

16

13.051

1.080

1.356

r:w=5:95

CPU:memória

Especificação da instância

Operationcount

Threads

Throughput

RAL

WAL

1:2

4 núcleos, 8 GB (dedicada)

4.000.000

16

10.266

1.141

1.570

8 núcleos, 16 GB (dedicada)

8.000.000

32

13.556

2.141

2.351

16 núcleos, 32 GB (dedicada)

16.000.000

64

14.447

4.295

4.412

1:4

2 núcleos, 8 GB (dedicada)

4.000.000

8

4.226

1.591

1.902

8 núcleos, 32 GB (dedicada)

16.000.000

64

12.055

5.109

5.210

16 núcleos, 64 GB (dedicada)

32.000.000

96

15.216

5.877

8.503

1:8

2 núcleos, 16 GB (dedicada)

8.000.000

8

3.874

1.792

2.072

4 núcleos, 32 GB (dedicada)

16.000.000

16

10.083

1.106

1.605

r:w=0:100

CPU:memória

Especificação da instância

Operationcount

Threads

Throughput

RAL

WAL

1:2

4 núcleos, 8 GB (dedicada)

4.000.000

16

9.960

0

1.592

8 núcleos, 16 GB (dedicada)

8.000.000

32

13.064

0

2.423

16 núcleos, 32 GB (dedicada)

16.000.000

64

13.743

0

4.615

1:4

2 núcleos, 8 GB (dedicada)

4.000.000

8

4.287

0

1.860

8 núcleos, 32 GB (dedicada)

16.000.000

64

11.611

0

5.441

16 núcleos, 64 GB (dedicada)

32.000.000

96

14.391

0

8.746

1:8

2 núcleos, 16 GB (dedicada)

8.000.000

8

3.854

0

2.067

4 núcleos, 32 GB (dedicada)

16.000.000

16

9.711

0

1.638

Comparação de desempenho

CPU:memória=1:2

  • Tipo de instância: 4 núcleos, 8 GB de memória 4 cores 8 GB benchmark data

  • Tipo de instância: 8 núcleos, 16 GB de memória 8 cores 16 GB benchmark data

CPU:memória=1:4

  • Tipo de instância: 8 núcleos, 32 GB de memória 8 cores 32 GB benchmark data

  • Tipo de instância: 16 núcleos, 64 GB de memória 16 cores 64 GB benchmark data

CPU:memória=1:8

  • Tipo de instância: 2 núcleos, 16 GB de memória 2 cores 16 GB benchmark data

  • Tipo de instância: 4 núcleos, 32 GB de memória 4 cores 32 GB benchmark data

Análise dos resultados dos testes

  • Para CPU:Memória=1:2, os servidores físicos superam o disco em nuvem em 7%-50%, com destaque para a configuração de 4 núcleos e 8 GB.

  • No cenário CPU:Memória=1:4, a diferença se reduz para cerca de 10%. Servidores físicos são mais adequados para cargas de trabalho com muita escrita; já o disco em nuvem é ideal para cargas com muita leitura.

  • Quando CPU:Memória=1:8:

    • Servidor físico e disco em nuvem apresentam desempenho praticamente idêntico.

    • À medida que a memória aumenta, o disco em nuvem supera significativamente o servidor físico, especialmente na configuração de 4 núcleos e 32 GB.

Nota

A arquitetura de disco em nuvem oferece as seguintes vantagens:

  • Recursos dedicados eliminam a contenção comum em servidores físicos compartilhados.

  • Permite dimensionamento independente de computação e armazenamento sem necessidade de migração de dados.

  • Suporta os níveis de desempenho ESSD PL1, PL2 e PL3 com faturamento econômico de pagamento conforme o uso.