Senario semasa ialah: prestasi mesin ialah CPU sangat nb. Saya terlupa nombor model i7. nb bermakna terdapat sedikit operasi CPU semasa membuat pertanyaan. Lihat melalui htop. Tetapi ingatan tidak baik, ia hanya 8g, dan ingatan pasti akan meningkat pada masa hadapan. Cakera keras juga merupakan cakera mekanikal biasa dan akan diganti kemudian, tetapi itu untuk kemudian Apa yang saya dapat rasakan sekarang ialah apabila data pertanyaan lebih besar daripada 100,000, kesesakan muncul pada io, io dikunci, dan memori. penggunaan juga tinggi. Akibatnya, operasi lain tersekat Walaupun kesan ini kecil, ia ditunjukkan dalam masa menunggu yang lama untuk halaman di web.
Pada masa ini pengoptimuman berikut telah dibuat:
1. Laraskan nilai saiz tindanan linux.
2.
3 Letakkan beberapa data popular ke dalam koleksi berasingan yang belum diubah suai sejak kebelakangan ini (sebulan).
Melalui tiga pengoptimuman di atas, keadaan akan menjadi lebih baik. Tetapi masih akan ada masalah Apabila terdapat beberapa syarat dalam pertanyaan, indeks akan menjadi tidak sah. Keadaan masih sama buruknya.
Jadi, ia sangat bercanggah. Bagaimana kita boleh menanganinya dengan baik? Jadi jika terdapat pelayan lain dengan konfigurasi yang sama, bolehkah keadaan ini diselesaikan melalui operasi seperti sharding?
Terima kasih
mongoDB, pengoptimuman boleh dilakukan dengan 1. Menambah lebih banyak memori 2. Menambah lebih banyak memori 3. Masukkan memori maksimum papan induk.
Anda boleh mempertimbangkan untuk menukar kepada penyelesaian redis + mysql.
Untuk rujukan.
1 Mula-mula ketahui operasi CRDU perniagaan yang lambat, dan kemudian optimumkan operasi ini.
2 Secara umumnya, menambah memori/mengganti SSD adalah amalan yang agak biasa. Terdapat juga beberapa tetapan parameter biasa untuk pengoptimuman Anda boleh merujuk kepada nota pengeluaran MongoDB dan mengkonfigurasinya dengan sewajarnya.
https://docs.mongodb.com/manu...
Suka MongoDB! Berseronoklah!