Ini sangat tergantung pada sistem, tetapi kemungkinannya hampir pasti kami akan melewati beberapa tebing sewenang-wenang dan masuk ke Masalah Nyata. Saya ingin tahu seperti apa aturan yang ada untuk rasio RAM-Disk yang baik. Kami sedang merencanakan putaran sistem kami berikutnya, dan perlu membuat beberapa pilihan mengenai RAM, SSD, dan berapa banyak masing-masing node baru akan dapatkan.
Tetapi sekarang untuk beberapa detail kinerja!
Selama alur kerja normal dari satu proyek yang dijalankan, MongoDB dipukul dengan persentase menulis yang sangat tinggi (70-80%). Setelah tahap kedua dari pipa pemrosesan mencapai, itu sangat tinggi dibaca karena perlu untuk menduplikat catatan yang diidentifikasi pada paruh pertama pemrosesan. Ini adalah alur kerja yang dibuat untuk "menjaga set kerja Anda di RAM" dibuat, dan kami merancang sekitar asumsi itu.
Seluruh dataset terus-menerus dipukul dengan kueri acak dari sumber yang diturunkan pengguna akhir; walaupun frekuensinya tidak teratur, ukurannya biasanya cukup kecil (kelompok 10 dokumen). Karena ini menghadap ke pengguna, balasan harus di bawah ambang batas "bosan sekarang" 3 detik. Pola akses ini jauh lebih kecil kemungkinannya berada dalam cache, sehingga akan sangat mungkin untuk menimbulkan hit disk.
Alur kerja pemrosesan sekunder adalah pembacaan yang tinggi dari proses pemrosesan sebelumnya yang mungkin berumur berhari-hari, berminggu-minggu, atau bahkan berbulan-bulan, dan jarang dilakukan tetapi masih perlu zippy. Hingga 100% dari dokumen dalam proses pemrosesan sebelumnya akan diakses. Saya kira tidak ada jumlah pemanasan cache yang dapat membantu hal ini.
Ukuran dokumen jadi sangat bervariasi, tetapi ukuran median sekitar 8K.
Bagian membaca tinggi dari pemrosesan proyek normal sangat menyarankan penggunaan Replika untuk membantu mendistribusikan lalu lintas Baca. Saya telah membaca di tempat lain bahwa 1:10 RAM-GB ke HD-GB adalah aturan praktis yang baik untuk disk yang lambat, Karena kami serius mempertimbangkan untuk menggunakan SSD yang lebih cepat, saya ingin tahu apakah ada aturan yang sama praktis untuk disk cepat.
Saya tahu kami menggunakan Mongo dengan cara di mana cache-semuanya benar-benar tidak akan terbang, itulah sebabnya saya mencari cara untuk merekayasa sistem yang dapat bertahan dari penggunaan seperti itu. The seluruh dataset kemungkinan akan paling TB dalam waktu setengah tahun dan terus berkembang.