
Pada mongodb proses penulisan dan durability dapat kita atur dengan baik agar tidak mengurangi performance dari aplikasi yang kita miliki. Contohnya adalah pengaturan data flush ke Disk pada WiredTiger storage engine, defaultnya adalah 60 detik setelah checkpoint terakhir atau setelah 2G data di tulis. Variable tersebut dapat di ubah dengan mengganti nilai wiredTigerCheckpointDelaySecs. Atau jika pada MMAPv1 storage engine, default flush ke disknya adalah 60 detik dapat kita ubah juga dengan mengganti nilai variable syncDelay. Selain itu kita juga dapat melakukan beberapah hal berikut untuk menambah performa penulisan database kita:
- Pada wiredtiger storage engine, kita dapat menggunakan XFS filesystem untuk konsistensi multi disk snapshot
- Kita dapat mendisable atime dan diratime pada data volume (fstab)
- Pastikan kita memiliki swap memory yang cukup (biasanya 2x memory size yang kita punya)
- Jika kita menggunakan virtualisasi environment, kita bisa menggunakan NOOP scheduler
- Naikan file-descriptor limit (ulimit)
- Kita dapat mendisable transparent huge pages (
echo never > /sys/kernel/mm/transparent_hugepage/enabled)dan meng enable standard 4-KVM pages - Aktifkan Journaling
- Turn off NUMA di Bios
- Gunakan RAID 10
- Hanya gunakan 64-bit builds untuk Productions, karena 32-bit builds hanya support 2 GB memory.
