1'den fazla işlemci / çekirdek ile bir VM kurmak performansı gerçekten artıracak mı?


11

VMware iş istasyonunu kullandığımda, VM'yi birden çok çekirdekli olarak ayarlayabilirim. Aslında çift çekirdekli ve 4 mantıksal çekirdekli bir makinede kullanıyorum. Yani VM'de daha fazla çekirdek kullanarak VMS performansını gerçekten artırabilir miyim?


3
Sanal konukları boyutlandırırken bir şeyi hatırlamakta fayda var: Eğer gerçek bir makineye kurulumdan fayda sağlamış olsaydı, o zaman sanal makine olarak faydalanacaktır. Ve en önemlisi: Bir şeyi sanallaştırdığınız için sistem veya uygulama gereksinimlerine büyülü bir şey olmaz .
Rob Moir

Yanıtlar:


8

VM'nin çalıştığına bağlıdır, n çekirdeği olan bir makinedeki bir konuk, konuk birden fazla CPU'yu etkin bir şekilde kullanabildiği sürece atanan n-1 çekirdeğinde en iyi performansı gösterecektir. Ne yazık ki bunu belirlemenin en basit yolu denemek ve görmek. Genellikle 2 ile başlayıp performans artışı bittiğinde duruyorum. Tipik olarak 2 çekirdek "tatlı nokta" gördüğüm yerdir. Karşılaştığım az sayıda uygulama / işletim sistemi kombinasyonu bundan daha iyi ölçeklendirilecek.


6

Açıklığa kavuşturmak için, çift çekirdekli bir CPU'nuz olduğunu ve VM'ye 4 sanal CPU atadığınızı mı söylüyorsunuz?

Bu durumda hayır; fiziksel yürütme çekirdeklerinizden daha fazla vCPU atarsanız, 2 fiziksel çekirdeği 4 sanal çekirdek (artı fiziksel ana bilgisayarda çalışan her şey) arasında paylaşma yükü nedeniyle aslında performansta hafif bir azalma göreceksiniz.

VM'den 2 vCPU atayarak en iyi performansı göreceksiniz.


Mutlaka değil - gerçekten sadece VM'de çalışan uygulamalar çok çekirdekli sistemlerden yararlanabiliyorsa performansı göreceksiniz. Ne yazık ki 2011 olmasına rağmen birçok uygulama bunu yapmıyor.
EEAA

@ErikA Fair point - uygulama iş parçacığı bir yana, sadece 2 fiziksel çekirdek ile, tek bir VM üzerinde 2 vCPU her zaman 4 vCPU daha iyi olduğunu söylüyorum.
Shane Madden

Evet,% 100 bu konuda anlaştı.
EEAA

5

Hiper iş parçacıklı dört çekirdekli CPU'larda fiziksel çekirdeklerden mantıksal çekirdeklere (iş parçacıkları) karşı vCPU'lar atayarak bir süre önce denedim ( bir yıl önceki soruma bakın) (8 atanabilir vCPU mevcut gibi görünüyor). Geri döndüğüm cevapların önerdiği gibi - ve deneyimlerimiz ortaya çıktı - her misafirin gerçekleştirebilmesi için minimum sayıda çekirdek tahsis etmelisiniz.

Ana bilgisayarda bulunan fiziksel çekirdeklerden daha fazla vCPU atarken, konuklar aynı anda yük altındaysa hiper iş parçacığı, başka bir CPU'yu etkin bir şekilde taklit etmek için iş parçacıkları arasındaki CPU bağlamını değiştirmede her zaman yeterince hızlı değildi. Bu, yeniden başlatma, fsck ve yığını daha da kötüleştirmeyi gerektiren kilitlenmeler ve zaman aşımları da dahil olmak üzere tüm konuklar için çok kötü şeylere yol açabilir. Bu şeyler olmasa bile, performans genellikle misafirler için daha hızlı değil, daha yavaş olacaktır.

@Chris S'nin yorumuna söylediği gibi, "her zaman kaçabildiğiniz kadar az tahsis edin ve büyük baş ağrılarından kaçınacaksınız."

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.