Seperti halnya mesin fisik, IO adalah raja. Akan ada hit IO yang terlihat dari virtualisasi (seberapa banyak hit yang bergantung pada teknologi yang Anda pilih), jadi pastikan Anda tidak melakukan apa pun yang dapat memperburuk ini dan membahayakan kinerja IO lebih jauh.
- Ukuran yang selalu digunakan tetap, bukan disk virtual dinamis, dan memastikan bahwa drive / array yang mendasarinya cukup. Vdisks dinamis kurang berkinerja daripada yang ukuran tetap.
- Jika data dalam VM tidak kritis misi, nyalakan kemampuan solusi VM untuk cache menulis (secara efektif berbohong kepada OS tamu tentang kapan hal-hal secara fisik ditulis ke disk) untuk kinerja tambahan. Ini berguna untuk mesin pengembangan dan pengujian di mana data mudah diganti, atau replika hanya-baca yang bersifat lokal untuk master yang dapat dibuat kembali jika mereka mengalami masalah, tetapi disarankan agar opsi tersebut tidak digunakan untuk produksi dan sistem cadangan karena mereka meningkatkan kemungkinan kehilangan data (atau lebih buruk, korupsi) jika mesin mati secara tak terduga.
- Pastikan bahwa setiap VM memiliki RAM yang cukup yang didedikasikan untuknya sehingga set kerja normal dari setiap basis data sesuai dengan memori dengan jumlah ruang yang cukup untuk menghindari IO yang tidak perlu. Juga, pastikan bahwa hypervisor tidak akan mengeluarkan RAM VMs kapan saja (misalnya sebagian besar produk VMWare dapat melakukan ini, yang memungkinkan Anda untuk menjalankan set VM yang lebih besar daripada yang Anda bisa lakukan pada perangkat keras yang sama, tetapi penurunan kinerja dapat menjadi masif - ada opsi untuk menyetel atau mematikan perilaku ini).
- Jika host menggunakan array RAID5, pertimbangkan untuk pindah ke RAID10. Ini akan mengurangi ruang yang tersedia tetapi menghapus masalah kinerja penulisan yang dapat terlihat dengan RAID5 (atau 6).
- Untuk VM yang cenderung melihat banyak aktivitas IO, pertimbangkan untuk memberi mereka drive atau larik mereka sendiri, atau hanya minta mereka membagikan drive / larik mereka dengan data yang melihat aktivitas rendah.
Tentu saja jika seluruh DB Anda (dan segala sesuatu yang dijalankan oleh VM) sesuai dengan RAM yang dialokasikan untuk VM dan itu melihat sangat sedikit aktivitas menulis, kinerja IO bisa menjadi masalah yang jauh lebih kecil.
Edit: beberapa poin lagi:
- Jika menggunakan disk virtual, pastikan bahwa tipe pengontrol terbaik digunakan untuk kinerja. Beberapa solusi virtualisasi menawarkan beberapa jenis pengontrol virtual untuk kompatibilitas tamu yang lebih baik dan Anda mungkin menemukan beberapa jenis yang kurang efisien daripada yang lain karena keterbatasan protokol dalam desain yang mereka tiru dan keterbatasan dalam driver OS tamu.
- Jika solusi virtualisasi Anda menawarkan driver khusus untuk pengontrol drive virtual, pastikan OS tamu Anda menggunakannya - ini dapat mempercepat IO massal dengan mengurangi jumlah salinan memori-ke-memori dan host <-> hypervisor <-> konteks tamu sakelar yang terlibat dalam beberapa operasi.
- Dua poin di atas berlaku jika Anda menggunakan penyimpanan jaringan seperti saham SMB sederhana atau iSCSI juga: pastikan bahwa Anda menggunakan pengontrol jaringan virtual paling efisien yang ditawarkan dan bahwa OS tamu Anda menggunakan driver yang disarankan untuk itu, jika tidak kedua latensi dan bandwidth mungkin lebih terbatas daripada kebutuhan oleh lapisan virtualisasi.