Untuk sementara waktu sekarang saya telah mencoba mencari tahu mengapa beberapa sistem bisnis kritis kami mendapatkan laporan "kelambatan" mulai dari yang ringan sampai yang ekstrem. Saya baru-baru ini mengalihkan pandangan saya ke lingkungan VMware di mana semua server yang bersangkutan di-host.
Saya baru-baru ini mengunduh dan menginstal uji coba untuk paket manajemen Veeam VMware untuk SCOM 2012, tetapi saya mengalami kesulitan untuk percaya (dan begitu juga bos saya) angka-angka yang dilaporkan kepada saya. Untuk meyakinkan bos saya bahwa angka-angka yang diberitahukan kepada saya benar, saya mulai mencari ke dalam klien VMware itu sendiri untuk memverifikasi hasilnya.
Saya telah melihat artikel KB VMware ini ; khusus untuk definisi Co-Stop yang didefinisikan sebagai:
Jumlah waktu mesin virtual MP siap dijalankan, tetapi mengalami penundaan karena pertentangan penjadwalan co-vCPU
Yang saya terjemahkan
OS tamu memerlukan waktu dari tuan rumah tetapi harus menunggu sumber daya tersedia dan karenanya dapat dianggap "tidak responsif"
Apakah terjemahan ini tampaknya benar?
Jika demikian, di sinilah saya mengalami kesulitan untuk meyakini apa yang saya lihat: Tuan rumah yang berisi sebagian besar VM yang "lambat" saat ini menunjukkan rata-rata CPU-stop CPU 127.835,94 milidetik!
Apakah ini berarti bahwa rata-rata VM di host ini harus menunggu 2+ menit untuk waktu CPU ???
Tuan rumah ini memang memiliki dua CPU 4 inti di dalamnya dan memiliki tamu CPU 1x8 dan tamu CPU 14x4.
sumber
Jawaban:
Saya dapat menggambarkan beberapa pengalaman yang saya alami di bidang ini ...
Saya tidak percaya bahwa VMware melakukan pekerjaan yang memadai untuk mendidik pelanggan ( atau administrator ) tentang praktik terbaik, juga tidak memperbarui praktik terbaik sebelumnya karena produk mereka berkembang. Pertanyaan ini adalah contoh bagaimana konsep inti seperti alokasi vCPU tidak sepenuhnya dipahami. Pendekatan terbaik adalah mulai dari yang kecil, dengan satu vCPU, sampai Anda menentukan bahwa VM membutuhkan lebih banyak.
Untuk OP, server host ESXi memiliki dua CPU quad-core, menghasilkan 8 core fisik.
Tata letak mesin virtual yang dijelaskan adalah 15 total tamu; Sistem 1 x 8 vCPU dan 14 x 4 vCPU. Itu terlalu berlebihan, terutama dengan adanya tamu tunggal dengan 8 vCPU . Itu tidak masuk akal. Jika Anda membutuhkan VM sebesar itu, Anda kemungkinan membutuhkan server yang lebih besar.
Silakan coba ukuran kanan mesin virtual Anda. Saya cukup yakin sebagian besar dari mereka dapat hidup dengan 2 vCPU. Menambahkan CPU virtual tidak membuat segalanya berjalan lebih cepat, jadi jika itu adalah solusi untuk masalah kinerja, itu adalah pendekatan yang salah untuk dilakukan.
Di sebagian besar lingkungan, RAM adalah sumber daya yang paling terbatas. Tapi CPU bisa menjadi masalah jika ada terlalu banyak pertengkaran. Anda punya bukti tentang ini. RAM juga bisa menjadi masalah jika terlalu banyak dialokasikan untuk masing-masing VM .
Mungkin untuk memonitor ini. Metrik yang Anda cari adalah "CPU Ready%". Anda dapat mengakses ini dari klien vSphere dengan memilih VM dan pergi ke
Performance
>>Overview
Grafik CPU.Perhatikan garis Kuning pada grafik di bawah ini.
Maukah Anda memeriksa ini pada mesin virtual masalah Anda dan melaporkan kembali?
sumber
Anda menyatakan dalam komentar Anda memiliki host ESXi quad-core ganda, dan Anda menjalankan satu VM 8vCPU, dan empat belas VM 4vCPU.
Jika ini adalah lingkungan saya, saya akan menganggap itu terlalu berlebihan. Saya paling tidak akan menempatkan empat hingga enam tamu 4vCPU pada perangkat keras itu. (Ini mengasumsikan bahwa VM yang bersangkutan memiliki beban yang mengharuskan mereka untuk memiliki jumlah vCPU yang tinggi.)
Saya berasumsi Anda tidak tahu aturan emas ... dengan VMware Anda tidak boleh menetapkan VM lebih banyak core dari yang dibutuhkan. Alasan? VMware menggunakan penjadwalan bersama yang agak ketat yang mempersulit VM untuk mendapatkan waktu CPU kecuali ada banyak core yang tersedia seperti yang diberikan oleh VM. Artinya, VM 4vCPU tidak dapat melakukan 1 unit kerja kecuali ada 4 core fisik yang terbuka pada saat yang sama. Dengan kata lain, secara arsitektur lebih baik memiliki VM 1vCPU dengan beban CPU 90%, kemudian memiliki VM 2vCPU dengan beban 45% per inti.
Jadi ... SELALU membuat VM dengan minimum vCPU, dan hanya menambahkannya saat itu dianggap perlu.
Untuk situasi Anda, gunakan Veeam untuk memantau penggunaan CPU pada tamu Anda. Kurangi jumlah vCPU sebanyak mungkin. Saya berani bertaruh bahwa Anda bisa turun ke 2vCPU pada hampir semua tamu 4vCPU Anda yang ada.
Memang, jika semua VM ini benar-benar memiliki beban CPU untuk memerlukan jumlah vCPU yang mereka miliki, maka Anda hanya perlu membeli perangkat keras tambahan.
sumber
127.835,94 milidetik adalah penjumlahan dan Anda harus membaginya dengan waktu sampel untuk mendapatkan nilai% RDY yang benar. Sepertinya Anda sudah mendapatkan pembacaan% RDY yang benar sekarang. Anda bisa naik cukup tinggi dengan vCPU ke rasio cpu fisik tetapi tidak seperti yang Anda lakukan.
Anda memiliki terlalu banyak quad vCPU VM dan bahkan 8 vCPU VM. Ada beberapa respons kualitas yang sudah membahas ukuran kanan dan beberapa konsekuensi dari tidak mengkonsolidasikan siklus menjadi vCPU yang lebih sedikit. Satu hal yang saya ingin klarifikasi adalah bahwa sementara itu bukan lagi kasus bahwa VM harus menunggu jumlah CPU fisik yang sama dengan jumlah vCPU yang akan tersedia sebelum instruksi dapat diproses, itu sangat merugikan untuk memiliki ketentuan yang terlalu besar sebesar ini dengan rasio VM multi-vCPU terhadap core fisik. 64 vCPU pada 8 core jauh melampaui rasio maksimum 4 banding 1. Saya berasumsi Anda memiliki HT pada prosesor ini sehingga Anda memiliki 16 core logis? Itu mungkin OK dengan VM vCPU 1 dan 2 yang memiliki beban ringan tetapi jika Anda memiliki beban berat pada VM akan sulit untuk dicapai.
FYI Prosesor HT tidak digunakan dalam perhitungan% CPU yang digunakan - artinya jika Anda memiliki 32 core logis berjalan pada 2,4 Ghz di server, Anda berada pada 100% penggunaan saat Anda menekan 38,4 GHz. Jadi, ketika Anda melihat rata-rata beban menunjukkan lebih dari 1.0, itu sebabnya.
Berikut ini adalah ESXi Host yang menjalankan rasio 3,5 banding 1 vCPU terhadap CPU fisik (termasuk inti HT) dengan rata-rata% RDY 3%.
sumber
Kami telah menginstal Veeam ONE yang telah memberikan sedikit cahaya di mana masalah kinerja kami. Dengan melihat layar CPU Bottlenecks di Veeam ONE lalu menggunakan Troubleshooting mesin virtual yang telah berhenti merespons: VMM dan Guest CPU perbandingan penggunaan sebagai referensi kami telah menemukan di mana membagikan pertentangan kami "tidak dapat diterima" adalah.
Satu tip kecil yang ingin saya bagikan secara khusus adalah bahwa dalam satu kasus saya tidak bisa menghilangkan pertengkaran CPU sampai saya menghapus snapshot yang ada di VM. Semoga ini bisa membantu seseorang.
sumber