Misalkan Anda berada di dell.com sekarang dan Anda membeli server untuk menjalankan database MongoDB Anda untuk startup kecil Anda. Anda harus menangani puluhan ribu penulisan dan bacaan per menit (tetapi benda kecil). Apakah Anda akan memilih 2 prosesor? Investasikan lebih banyak pada RAM?
Saya pernah mendengar (memperbaiki saya jika saya salah) MongoDB menangani yang paling bisa di RAM dan kemudian flushes semuanya ke disk, dalam hal itu saya harus berinvestasi pada CPU dengan L2 cache yang besar, mungkin> 40GB RAM dan solid state drive .. kan?
Apakah saya akan lebih baik dengan server high-end (~ $ 11.309, 2 prosesor mahal, RAM 96GB) atau server 2x (~ $ 6.419, 2 prosesor mahal, RAM 12GB)?
Apakah Dell baik-baik saja atau Anda memiliki saran yang lebih baik? (Saya di luar AS, di Portugal)
Jawaban:
Awalnya, Anda ingin menambah RAM. RAM yang Anda butuhkan tergantung pada jumlah data yang Anda simpan, jumlah koleksi, indeks pada koleksi itu, pola akses data, dll. Banyak faktor.
Yang paling penting adalah memiliki cukup RAM untuk menjaga indeks Anda dalam RAM. Jika tidak, kinerja Anda akan menurun secara dramatis karena server Anda akan terus-menerus membuka halaman sementara Mongo memindahkan file yang dipetakan memori masuk dan keluar dari RAM. Terlepas dari semua ini, kami belum melihat kecepatan tulis terpengaruh tetapi yang lainnya. Memproses menghapus antrian, pembilasan, kesedihan, dll. Semua mendapat pukulan dramatis begitu indeks Anda tidak lagi sesuai dengan RAM.
Jadi tidak ada jawaban pendek yang nyata. Pada dasarnya, cerdaslah tentang indeks Anda. Hanya gunakan apa yang Anda butuhkan. Simpan koleksi kecil jika Anda bisa (yaitu pecah menjadi beberapa di mana Anda bisa.) Koleksi yang ditutup juga menarik untuk dilihat.
sumber
Sangat penting untuk menggunakan mesin 64 bit bukan 32 bit. http://blog.mongodb.org/post/137788967/32-bit-limitations
sumber
Dengan MongoDB yang Anda inginkan adalah RAM. Dan kemudian beberapa RAM lagi. Membeli RAM tidak ada salahnya.
sumber
Jika Anda pada tahap membeli perangkat keras produksi maka aplikasi yang Anda jalankan harus sudah ditulis, kan? Jadi jalankan aplikasi pada perangkat keras yang Anda miliki dan ambil metrik. Ubah beberapa komponen secara bertahap dan ambil lebih banyak metrik. Setelah selesai, Anda akan tahu titik fokus mana yang paling penting untuk aplikasi dan skenario Anda.
sumber
Pertama - beli RAM sebanyak yang Anda bisa. Faktor pembatas kedua adalah kecepatan disk. RAID membantu. SSD membantu. Lebih banyak pecahan membantu. Ukur throughput yang membandingkan efisiensi disk dan waktu respons yang diperlukan, lalu putuskan apa yang harus dilakukan sesuai anggaran yang Anda miliki.
sumber
Saya akan bertanya-tanya apakah solusi Linux clustered akan menjadi alternatif yang lebih baik, lebih murah.
MongoDB memungkinkan Anda mendistribusikan data melalui banyak server. Itu tidak mungkin dengan satu, klakson server.
Saya pikir MongoDB adalah salah satu langkah selanjutnya yang diambil setelah mengetahui bahwa penyebaran database relasional pada server klakson tidak cukup baik.
sumber
Puluhan ribu tulis per menit bukanlah apa-apa. Anda bisa mendapatkan 50.000 atau lebih menulis per detik pada perangkat keras yang layak. Spesifikasi perangkat keras sangat tergantung pada apa yang Anda coba lakukan. Secara umum, RAM yang cukup untuk basis data besar dan sistem IO cepat penting di samping CPU yang layak ...
sumber
Penting untuk membuat garis dasar yang kokoh sebelum merancang perangkat keras Anda. Secara umum, pertanyaan seperti ini akan ditanyakan oleh orang-orang mongoDB yang berpengalaman sebelum orang lain dapat mempertimbangkan untuk menjawab pertanyaan Anda.
Statistik Aplikasi Saat Ini (jika ada)
Beban Kerja Penyerapan Data
Pola Permintaan & Ekspektasi Kinerja
Pola Akses yang Diantisipasi
sumber