All Products
Search
Document Center

ApsaraDB for MongoDB:Paper putih kinerja

Last Updated:Jul 06, 2025

ApsaraDB for MongoDB dikembangkan berdasarkan sistem terdistribusi Apsara dan mesin penyimpanan dengan keandalan tinggi, serta kompatibel dengan protokol MongoDB. Produk ini menggunakan arsitektur multi-node untuk memastikan ketersediaan tinggi dan menyediakan fitur seperti skalabilitas elastis, pemulihan bencana, pencadangan dan rollback, serta optimasi kinerja.

Lingkungan pengujian

Item konfigurasi

Instance ECS untuk uji stres

Instance ApsaraDB for MongoDB yang menggunakan server fisik

Instance ApsaraDB for MongoDB yang menggunakan disk cloud

Wilayah dan zona

Zona H Hangzhou

Zona H Hangzhou

Zona H Hangzhou

Tipe jaringan

VPC

VPC

VPC

Keluarga instans

c6e, keluarga instans yang dioptimalkan untuk komputasi dengan performa ditingkatkan

Tujuan umum dan spesifikasi khusus

Spesifikasi khusus

Tipe instans

ecs.c6e.2xlarge (8 core, 16 GB)

Berbagai spesifikasi tersedia. Untuk informasi lebih lanjut, lihat Hasil pengujian.

Berbagai spesifikasi tersedia. Untuk informasi lebih lanjut, lihat Hasil pengujian.

Tipe penyimpanan

ESSD PL1

SSD Lokal

ESSD PL1

Ruang penyimpanan

-

500 GB

500 GB

Topologi

-

Instans set replika standar (tiga node: satu node utama, satu node sekunder, dan satu node tersembunyi)

Instans set replika standar (tiga node: satu node utama, satu node sekunder, dan satu node tersembunyi)

Versi gambar

Alibaba Cloud Linux 3.2104 LTS 64-bit

3.10.0-327.ali2017.alios7.x86_64

4.19.81-17.2.al7.x86_64

Versi kernel instans

-

MongoDB 4.2 (baseline versi minor 4.2.13)

MongoDB 4.4 (baseline versi minor 4.4.1)

Konsistensi

-

Pengaturan default read/write concern

Pengaturan default read/write concern

Catatan

Jika Instance ECS dan Instance ApsaraDB for MongoDB ditempatkan di wilayah dan zona yang sama, Round-Trip Time (RTT) sekitar 0,104 milidetik.

Alat pengujian

YCSB open-source versi 0.17.0 digunakan untuk uji stres.

Catatan

YCSB adalah alat Java yang dapat digunakan dalam pengujian kinerja untuk beberapa database. Untuk informasi lebih lanjut tentang instalasi dan penggunaannya, lihat YCSB.

Prosedur pengujian

  1. Tambahkan Primary Private IP Address dari Instance ECS ke daftar putih Instance ApsaraDB for MongoDB yang menggunakan server fisik atau disk cloud. Untuk informasi lebih lanjut, lihat Modifikasi Daftar Putih untuk Sebuah Instans.

    Catatan

    Anda dapat masuk ke Konsol ECS, lalu melihat Primary Private IP Address di bagian Configuration Information halaman Instance Details.

  2. Hubungkan ke Instance ECS. Untuk informasi lebih lanjut, lihat Hubungkan ke Instance ECS.

  3. Gunakan YCSB untuk memuat data uji.

    ./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

    Ubah nilai parameter berikut:

    • recordcount=1.000.000: Jumlah total catatan data yang dimuat ke Instance ApsaraDB for MongoDB.

    • mongodb.url="mongodb://test:****@dds-bp13e84d11****.mongodb.rds.aliyuncs.com:3717/admin": Titik akhir Instance ApsaraDB for MongoDB. Dalam contoh ini, akun database adalah test dan database adalah admin.

      Catatan

      Anda dapat masuk ke Konsol ApsaraDB for MongoDB, lalu melihat titik akhir instans di bagian Internal Connections - VPC halaman Database Connections.

    • threads 8: Jumlah thread konkuren pada klien.

  4. Jalankan perintah pengujian berikut untuk melakukan uji stres kinerja.

    ./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

    Ubah nilai parameter berikut:

    • recordcount=1.000.000: Jumlah total catatan data yang dimuat ke Instance ApsaraDB for MongoDB.

    • operationcount=5.000.000: Jumlah total operasi baca/tulis.

    • insertproportion=0: Rasio operasi muat.

    • readproportion=50: Rasio operasi baca.

    • updateproportion=50: Rasio operasi pembaruan.

    • mongodb.url="mongodb://test:****@dds-bp13e84d11****.mongodb.rds.aliyuncs.com:3717/admin": Titik akhir Instance ApsaraDB for MongoDB. Dalam contoh ini, akun database adalah test dan database adalah admin.

      Catatan

      Anda dapat masuk ke Konsol ApsaraDB for MongoDB, lalu melihat titik akhir instans di bagian Internal Connections - VPC halaman Database Connections.

    • threads 8: Jumlah thread konkuren pada klien.

Hasil pengujian

Skenario

  • r:w=100:0: Rasio permintaan baca terhadap permintaan tulis adalah 100:0.

  • r:w=95:5: Rasio permintaan baca terhadap permintaan tulis adalah 95:5.

  • r:w=50:50: Rasio permintaan baca terhadap permintaan tulis adalah 50:50.

  • r:w=5:95: Rasio permintaan baca terhadap permintaan tulis adalah 5:95.

  • r:w=0:100: Rasio permintaan baca terhadap permintaan tulis adalah 0:100.

Parameter

  • recordcount: Jumlah total catatan data yang dimuat ke Instance ApsaraDB for MongoDB.

  • operationcount: Jumlah total operasi baca/tulis.

  • threads: Jumlah thread konkuren pada klien.

  • throughput: Throughput Instance ApsaraDB for MongoDB. Unit: Operasi per detik (OPS).

  • RAL: Latensi rata-rata operasi baca. Unit: mikrodetik (us).

  • WAL: Latensi rata-rata operasi tulis. Unit: mikrodetik (us).

Catatan

Dalam topik ini, jika RAL atau WAL disetel ke 0, tidak ada operasi baca atau tulis yang terlibat.

Bagian berikut menunjukkan hasil pengujian dan perbandingan kinerja antara Instance ApsaraDB for MongoDB yang menggunakan server fisik dan yang menggunakan disk cloud pada rasio baca/tulis yang berbeda.

Instans yang menjalankan MongoDB 4.2 dan menggunakan server fisik

Muat Data Uji

CPU:Memori

Spesifikasi instans

recordcount

threads

throughput

RAL

WAL

1:2

1 core, 2 GB (tujuan umum)

1.000.000

4

3.589

0

1.110

2 core, 4 GB (tujuan umum)

2.000.000

8

7.629

0

521

4 core, 8 GB (tujuan umum)

4.000.000

16

24.300

0

654

8 core, 16 GB (tujuan umum)

8.000.000

32

26.745

0

1.191

1:4

8 core, 32 GB (tujuan umum)

16.000.000

32

29.090

0

1.095

16 core, 64 GB (tujuan umum)

32.000.000

128

41.098

0

3.033

1:8

2 core, 16 GB (spesifikasi khusus)

8.000.000

8

6.553

0

1.217

4 core, 32 GB (spesifikasi khusus)

16.000.000

16

14.526

0

1.097

8 core, 64 GB (spesifikasi khusus)

32.000.000

32

35.437

0

899

16 core, 128 GB (spesifikasi khusus)

64.000.000

160

60.078

0

2.658

r:w=100:0

CPU:Memori

Spesifikasi instans

operationcount

threads

throughput

RAL

WAL

1:2

1 core, 2 GB (tujuan umum)

1.000.000

4

6.387

623

0

2 core, 4 GB (tujuan umum)

2.000.000

8

12.893

616

0

4 core, 8 GB (tujuan umum)

4.000.000

16

37.016

427

0

8 core, 16 GB (tujuan umum)

8.000.000

32

48.014

658

0

1:4

8 core, 32 GB (tujuan umum)

16.000.000

32

44.251

1.589

0

16 core, 64 GB (tujuan umum)

32.000.000

128

57.252

2.226

0

1:8

2 core, 16 GB (spesifikasi khusus)

8.000.000

8

12.436

641

0

4 core, 32 GB (spesifikasi khusus)

16.000.000

16

20.551

773

0

8 core, 64 GB (spesifikasi khusus)

32.000.000

32

50.246

632

0

16 core, 128 GB (spesifikasi khusus)

64.000.000

160

66.876

2.385

0

r:w=95:5

CPU:Memori

Spesifikasi instans

operationcount

threads

throughput

RAL

WAL

1:2

1 core, 2 GB (tujuan umum)

1.000.000

4

4.556

864

1.079

2 core, 4 GB (tujuan umum)

2.000.000

8

10.391

757

914

4 core, 8 GB (tujuan umum)

4.000.000

16

34.411

453

561

8 core, 16 GB (tujuan umum)

8.000.000

32

41.095

763

925

1:4

8 core, 32 GB (tujuan umum)

16.000.000

32

39.920

785

926

16 core, 64 GB (tujuan umum)

32.000.000

128

55.148

2.305

2.381

1:8

2 core, 16 GB (spesifikasi khusus)

8.000.000

8

8.869

871

1.394

4 core, 32 GB (spesifikasi khusus)

16.000.000

16

18.206

856

1.192

8 core, 64 GB (spesifikasi khusus)

32.000.000

32

47.111

664

861

16 core, 128 GB (spesifikasi khusus)

64.000.000

160

68.801

2.312

2.449

r:w=50:50

CPU:Memori

Spesifikasi instans

operationcount

threads

throughput

RAL

WAL

1:2

1 core, 2 GB (tujuan umum)

1.000.000

4

3.062

1.207

1.399

2 core, 4 GB (tujuan umum)

2.000.000

8

6.610

1.128

1.318

4 core, 8 GB (tujuan umum)

4.000.000

16

19.743

743

864

8 core, 16 GB (tujuan umum)

8.000.000

32

22.750

987

1.809

1:4

8 core, 32 GB (tujuan umum)

16.000.000

32

21.763

1.010

1.907

16 core, 64 GB (tujuan umum)

32.000.000

128

43.498

2.162

3.696

1:8

2 core, 16 GB (spesifikasi khusus)

8.000.000

8

5.680

1.345

1.930

4 core, 32 GB (spesifikasi khusus)

16.000.000

16

10.470

1.064

1971

8 core, 64 GB (spesifikasi khusus)

32.000.000

32

20.427

790

2.329

16 core, 128 GB (spesifikasi khusus)

64.000.000

160

29.445

2.944

7.891

r:w=5:95

CPU:Memori

Spesifikasi instans

operationcount

threads

throughput

RAL

WAL

1:2

1 core, 2 GB (tujuan umum)

1.000.000

4

2.431

1.511

1.649

2 core, 4 GB (tujuan umum)

2.000.000

8

5.336

1.406

1.608

4 core, 8 GB (tujuan umum)

4.000.000

16

14.496

858

1.110

8 core, 16 GB (tujuan umum)

8.000.000

32

14.573

958

2.253

1:4

8 core, 32 GB (tujuan umum)

16.000.000

32

13.812

995

2.377

16 core, 64 GB (tujuan umum)

32.000.000

128

20.663

2.831

6.348

1:8

2 core, 16 GB (spesifikasi khusus)

8.000.000

8

4.079

3.201

8.066

4 core, 32 GB (spesifikasi khusus)

16.000.000

16

7.154

1.080

2.288

8 core, 64 GB (spesifikasi khusus)

32.000.000

32

12.585

783

2.626

16 core, 128 GB (spesifikasi khusus)

64.000.000

160

17.083

4.241

9.615

r:w=0:100

CPU:Memori

Spesifikasi instans

operationcount

threads

throughput

RAL

WAL

1:2

1 core, 2 GB (tujuan umum)

1.000.000

4

2.429

0

1.642

2 core, 4 GB (tujuan umum)

2.000.000

8

5.238

0

1.643

4 core, 8 GB (tujuan umum)

4.000.000

16

13.794

0

1.154

8 core, 16 GB (tujuan umum)

8.000.000

32

14.566

0

2.189

1:4

8 core, 32 GB (tujuan umum)

16.000.000

32

13.485

0

2.361

16 core, 64 GB (tujuan umum)

32.000.000

128

19.758

0

6.461

1:8

2 core, 16 GB (spesifikasi khusus)

8.000.000

8

3.939

0

8.097

4 core, 32 GB (spesifikasi khusus)

16.000.000

16

6.940

0

2.298

8 core, 64 GB (spesifikasi khusus)

32.000.000

32

12.567

0

2.539

16 core, 128 GB (spesifikasi khusus)

64.000.000

160

16.325

0

9.770

Instans yang menjalankan MongoDB 4.4 dan menggunakan disk cloud

Muat Data Uji

CPU:Memori

Spesifikasi instans

recordcount

threads

throughput

RAL

WAL

1:2

4 core, 8 GB (spesifikasi khusus)

4.000.000

16

18.235

0

871

8 core, 16 GB (spesifikasi khusus)

8.000.000

32

35.643

0

891

16 core, 32 GB (spesifikasi khusus)

16.000.000

64

65.345

0

971

1:4

2 core, 8 GB (spesifikasi khusus)

4.000.000

8

6.613

0

1.202

8 core, 32 GB (spesifikasi khusus)

16.000.000

64

45.952

0

1.385

16 core, 64 GB (spesifikasi khusus)

32.000.000

96

61.973

0

1.539

1:8

2 core, 16 GB (spesifikasi khusus)

8.000.000

8

6.224

0

1.280

4 core, 32 GB (spesifikasi khusus)

16.000.000

16

18.603

0

857

r:w=100:0

CPU:Memori

Spesifikasi instans

operationcount

threads

throughput

RAL

WAL

1:2

4 core, 8 GB (spesifikasi khusus)

4.000.000

16

24.945

634

0

8 core, 16 GB (spesifikasi khusus)

8.000.000

32

33.270

938

0

16 core, 32 GB (spesifikasi khusus)

16.000.000

64

55.703

1.136

0

1:4

2 core, 8 GB (spesifikasi khusus)

4.000.000

8

10.989

723

0

8 core, 32 GB (spesifikasi khusus)

16.000.000

64

36.039

1.740

0

16 core, 64 GB (spesifikasi khusus)

32.000.000

96

59.960

1.585

0

1:8

2 core, 16 GB (spesifikasi khusus)

8.000.000

8

11.298

703

0

4 core, 32 GB (spesifikasi khusus)

16.000.000

16

24.306

653

0

r:w=95:5

CPU:Memori

Spesifikasi instans

operatiocount

threads

throughput

RAL

WAL

1:2

4 core, 8 GB (spesifikasi khusus)

4.000.000

16

22.471

797

1.161

8 core, 16 GB (spesifikasi khusus)

8.000.000

32

29.543

1.064

1.199

16 core, 32 GB (spesifikasi khusus)

16.000.000

64

53.466

1.178

1.300

1:4

2 core, 8 GB (spesifikasi khusus)

4.000.000

8

8.986

854

1.480

8 core, 32 GB (spesifikasi khusus)

16.000.000

64

34.128

1.829

1970

16 core, 64 GB (spesifikasi khusus)

32.000.000

96

78.363

1.196

1.420

1:8

2 core, 16 GB (spesifikasi khusus)

8.000.000

8

8.806

867

1.619

4 core, 32 GB (spesifikasi khusus)

16.000.000

16

20.132

770

1.181

r:w=50:50

CPU:Memori

Spesifikasi instans

operationcount

threads

throughput

RAL

WAL

1:2

4 core, 8 GB (spesifikasi khusus)

4.000.000

16

14.127

1.009

1.238

8 core, 16 GB (spesifikasi khusus)

8.000.000

32

19.887

1.496

1.670

16 core, 32 GB (spesifikasi khusus)

16.000.000

64

23.120

2.680

2.819

1:4

2 core, 8 GB (spesifikasi khusus)

4.000.000

8

5.132

1.370

1.735

8 core, 32 GB (spesifikasi khusus)

16.000.000

64

18.929

2.930

3.615

16 core, 64 GB (spesifikasi khusus)

32.000.000

96

25.612

3.675

4.363

1:8

2 core, 16 GB (spesifikasi khusus)

8.000.000

8

4.841

1.438

1.855

4 core, 32 GB (spesifikasi khusus)

16.000.000

16

13.051

1.080

1.356

r:w=5:95

CPU:Memori

Spesifikasi instans

operationcount

threads

throughput

RAL

WAL

1:2

4 core, 8 GB (spesifikasi khusus)

4.000.000

16

10.266

1.141

1.570

8 core, 16 GB (spesifikasi khusus)

8.000.000

32

13.556

2.141

2.351

16 core, 32 GB (spesifikasi khusus)

16.000.000

64

14.447

4.295

4.412

1:4

2 core, 8 GB (spesifikasi khusus)

4.000.000

8

4.226

1.591

1.902

8 core, 32 GB (spesifikasi khusus)

16.000.000

64

12.055

5.109

5.210

16 core, 64 GB (spesifikasi khusus)

32.000.000

96

15.216

5.877

8.503

1:8

2 core, 16 GB (spesifikasi khusus)

8.000.000

8

3.874

1.792

2.072

4 core, 32 GB (spesifikasi khusus)

16.000.000

16

10.083

1.106

1.605

r:w=0:100

CPU:Memori

Spesifikasi instans

operationcount

threads

throughput

RAL

WAL

1:2

4 core, 8 GB (spesifikasi khusus)

4.000.000

16

9960

0

1.592

8 core, 16 GB (spesifikasi khusus)

8.000.000

32

13.064

0

2.423

16 core, 32 GB (spesifikasi khusus)

16.000.000

64

13.743

0

4.615

1:4

2 core, 8 GB (spesifikasi khusus)

4.000.000

8

4.287

0

1.860

8 core, 32 GB (spesifikasi khusus)

16.000.000

64

11.611

0

5.441

16 core, 64 GB (spesifikasi khusus)

32.000.000

96

14.391

0

8.746

1:8

2 core, 16 GB (spesifikasi khusus)

8.000.000

8

3.854

0

2.067

4 core, 32 GB (spesifikasi khusus)

16.000.000

16

9.711

0

1.638

Grafik perbandingan kinerja

CPU:Memori=1:2

  • Instans dengan 4 core dan 8 GB memori4核8GB数据

  • Instans dengan 8 core dan 16 GB memori8核16GB

CPU:Memori=1:4

  • Instans dengan 8 core dan 32 GB memori8核32GB数据

  • Instans dengan 16 core dan 64 GB memori16核64GB数据

CPU:Memori=1:8

  • Instans dengan 2 core dan 16 GB memori2核16GB数据

  • Instans dengan 4 core dan 32 GB memori4核32GB数据

Analisis hasil

  • CPU:Memori=1:2: Instance ApsaraDB for MongoDB yang menggunakan server fisik memberikan performa lebih baik dibandingkan dengan yang menggunakan disk cloud. Perbedaan performa berkisar antara 7% hingga 50% pada rasio baca/tulis yang berbeda. Perbedaan maksimum terdapat pada instance ApsaraDB for MongoDB yang memiliki 4 core CPU dan 8 GB memori.

  • CPU:Memori=1:4: Perbedaan performa antara instance ApsaraDB for MongoDB yang menggunakan server fisik dan yang menggunakan disk cloud berkurang menjadi sekitar 10%. Instance ApsaraDB for MongoDB yang menggunakan server fisik cocok untuk skenario tulis, sedangkan yang menggunakan disk cloud cocok untuk skenario baca.

  • CPU:Memori=1:8:

    • Instance ApsaraDB for MongoDB yang menggunakan server fisik memberikan performa hampir sama dengan yang menggunakan disk cloud.

    • Dengan meningkatnya memori, instance ApsaraDB for MongoDB yang menggunakan disk cloud memberikan performa lebih baik dibandingkan dengan yang menggunakan server fisik. Perbedaan maksimum terdapat pada instance ApsaraDB for MongoDB yang memiliki 4 core CPU dan 32 GB memori.

Catatan

Instance ApsaraDB for MongoDB yang menggunakan disk cloud memiliki keuntungan sebagai berikut:

  • Semua sumber daya didedikasikan dan dapat menghindari perebutan sumber daya yang terjadi pada instance ApsaraDB for MongoDB yang menggunakan server fisik.

  • Sumber daya komputasi dan penyimpanan dapat diskalakan secara otomatis tanpa memerlukan migrasi data.

  • ESSD memiliki tingkat performa (PL) seperti PL1, PL2, dan PL3. ESSD dari tingkat ini lebih hemat biaya untuk instance ApsaraDB for MongoDB dengan model bayar sesuai pemakaian.