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 |
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.
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
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.
CatatanAnda dapat masuk ke Konsol ECS, lalu melihat Primary Private IP Address di bagian Configuration Information halaman Instance Details.
Hubungkan ke Instance ECS. Untuk informasi lebih lanjut, lihat Hubungkan ke Instance ECS.
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 8Ubah 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.CatatanAnda 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.
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 8Ubah 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.CatatanAnda 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).
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
Instans yang menjalankan MongoDB 4.4 dan menggunakan disk cloud
Grafik perbandingan kinerja
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.
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.





