Kami melihat perangkat lunak kami berperilaku tidak biasa di salah satu pelanggan di mana sedang dijalankan di dalam mesin virtual Windows 2008. Tuan rumahnya adalah VMWare ESX Server.
Masalah terbesar yang saya lihat adalah proses kami menjatuhkan koneksi socket atau waktu koneksi socket habis. Beberapa proses kami berkomunikasi satu sama lain melalui soket TCP. Dalam beberapa kasus kami membuat koneksi soket ke sistem jarak jauh (misalnya, WMI, JDBC).
Saya yakin bahwa VM kekurangan sumber daya. Kami tidak memiliki akses ke ESX admin / dasbor kinerja. Saya juga telah belajar bahwa angka apa pun yang disediakan oleh perfmon atau task manager di dalam host VM bukan indikasi sebenarnya dari kesehatan OS host.
Saya bisa menulis sebuah program yang melakukan banyak matematika floating point dan mencetak waktu yang dibutuhkan. Kemudian bandingkan waktu itu dengan yang sama yang diperoleh pada VM yang berbeda atau kotak Windows nyata.
Pendekatan ini cukup bagi kita untuk dapat menentukan apakah akar penyebabnya memang kinerja VM. Namun akan jauh lebih mudah untuk meyakinkan pelanggan jika ada cara atau alat standar untuk melakukan ini.
Apakah ada satu?
sumber
Jawaban:
Saya cenderung menggunakan produk yang sama yang saya gunakan untuk membandingkan perangkat keras fisik.
http://www.passmark.com/products/pt.htm
Lewati tes 3d tentu saja, tetapi yang lain dapat membantu, terutama tolok ukur cakram dan jaringan. Pastikan Anda menggunakan driver jaringan & IO yang tepat, dan pastikan semua pengaturan windows Anda dioptimalkan untuk VM.
sumber
Untuk menguji jaringan, saya menggunakan iperf dan netperf untuk menekankan pengujian itu.
Untuk menguji I / O disk, gunakan sqlio yang merupakan alat standar industri lain. Jalankan pengujian I / O acak dan berurutan dengan ukuran blok yang berbeda.
Untuk pengujian CPU / RAM, saya tidak bisa memikirkan apa pun untuk Windows di atas kepala saya.
sumber