Seninki gibi sorular için basit ve kesin bir cevap olmadığını buldum. Her sanallaştırma çözümü, belirli performans testlerinde farklı davranır. Ayrıca, disk G / Ç çıkışı gibi testler birçok farklı teste bölünebilir (okuma, yazma, yeniden yazma, ...) ve sonuçlar çözümden çözüme ve senaryodan senaryoya değişecektir. Bu nedenle, bir çözümü disk G / Ç için en hızlı olarak işaret etmek önemsiz değildir ve bu nedenle disk G / Ç için genel gider gibi etiketler için kesin bir cevap yoktur.
Farklı kıyaslama testleri arasındaki ilişkiyi bulmaya çalışırken daha karmaşık hale gelir. Test ettiğim çözümlerin hiçbiri mikro işlem testlerinde iyi bir performans göstermedi. Örneğin: VM içinde "gettimeofday ()" adlı bir çağrı, donanımdan ziyade ortalama 11,5 kat daha fazla saat döngüsü aldı. Hipervizörler gerçek dünya uygulamaları için optimize edilmiştir ve mikro işlemlerde iyi performans göstermemektedir. Bu, uygulamanız için gerçek dünyadaki uygulamalara daha uygun olabilecek bir sorun olmayabilir. Yani, mikro-işlemle bitirmek için 1000 saat döngüsünden daha az zaman harcayan herhangi bir uygulamanın (2.6 GHz CPU için, 385 nanosaniye veya 3.85e-7 saniyede 1.000 saat döngüsü harcanması anlamına gelir).
X86 mimarisi için veri merkezi konsolidasyonu için dört ana çözüm üzerinde kapsamlı testler yaptım. VM'lerin içindeki performansı donanım performansı ile karşılaştırarak neredeyse 3000 test yaptım. Donanımda ölçülen maksimum performans ile VM (ler) içinde ölçülen maksimum performansın farkını 'genel gider' olarak adlandırdım.
Çözümler:
- VMWare ESXi 5
- Microsoft Hyper-V Windows 2008 R2 SP1
- Citrix XenServer 6
- Red Hat Kurumsal Sanallaştırma 2.2
Konuk işletim sistemleri:
- Microsoft Windows 2008 R2 64 bit
- Red Hat Enterprise Linux 6.1 64 bit
Test Bilgisi:
- Sunucular: Her biri 8 GB RAM, 2X Intel Xeon E5440 CPU ve dört gigabit Ethernet bağlantı noktasına sahip 2X Sun Fire X4150
- Diskler: gigabit ethernet üzerinden iXC üzerinden 6X 136GB SAS diskleri
Benchmark Yazılımı:
CPU ve Bellek: Hem 32 hem de 64 bit için Linpack benchmark . Bu CPU ve hafıza yoğun.
Disk G / Ç ve Gecikme: Bonnie ++
Ağ Giriş / Çıkış: Netperf: TCP_STREAM, TCP_RR, TCP_CRR, UDP_RR ve UDP_STREAM
Mikro işlemler: rdtscbench : Sistem çağrıları, süreçler arası boru iletişimi
Ortalamalar şu parametrelerle hesaplanır:
CPU ve Bellek: ORTALAMA (HPL32, HPL64)
Disk G / Ç: ORTALAMA (put_block, yeniden yazma, get_block)
Ağ G / Ç: ORTALAMA (tcp_crr, tcp_rr, tcp_stream, udp_rr, udp_stream)
Mikro-işlemler ORTALAMA (getpid (), sysconf (), gettimeofday (), malloc [1M], malloc [1G], 2pipes [], simplemath [])
Test senaryom için, ölçümlerimi kullanarak dört sanallaştırma çözümünün sonuçlarının ortalamaları şunlardır:
VM katmanı ek yükü, Linux misafir:
VM katmanı ek yükü, Windows misafir:
Lütfen bu değerlerin genel olduğunu ve belirli durumlar senaryosunu yansıtmadığını unutmayın.
Lütfen makalenin tamamına göz atın: http://petersenna.com/en/projects/81-performance-overhead-and-comparative-performance-of-4-virtualization-solutions