Używamy Ubuntu 12.04 z następującymi parametrami:
- Dell R910
- Jądro 3.2.0-25-generic # 40-Ubuntu SMP x86_64 x86_64 x86_64 GNU / Linux
- kvm 1: 84 + dfsg-0ubuntu16 + 1.0 + noroms + 0ubuntu13
- qemu-kvm 1.0 + noroms-0ubuntu13
- qemu-common 1.0 + noroms-0ubuntu13
- qemu-kvm 1.0 + noroms-0ubuntu13
- 4 x procesor Intel (R) Xeon (E) E7- 4870 @ 2,40 GHz (każdy z 10 rdzeniami fizycznymi, włączonymi HT i Intel VT)
- Goście Windows nie mają obecnie VirtIO, ale wkrótce się to zmieni
Na tym komputerze działa kilku gości Windows, jeden z nich to Windows 2003 32-bitowy, inny Windows 2008 (64-bitowy). Obecnie zmagamy się z problemami z wydajnością i bawiliśmy się modelami procesorów.
Zwykle używamy „qemu-system-x86_64 dla naszego gościa z 32-bitowym systemem Windows, np .:
/usr/bin/qemu-system-x86_64 -S -M pc-1.0 -cpu qemu32 -enable-kvm -m 4096 -smp 4,sockets=4,cores=1,threads=1 [...]
Wydajność tego gościa okazała się nieco niska. Nie uruchomiliśmy jeszcze żadnego testu porównawczego, ale powiedzmy, że kopiowanie dużej ilości danych (plików) w maszynie wirtualnej z jednego katalogu do drugiego przebiega znacznie szybciej po zmianie modelu procesora z „-cpu qemu32” na „-cpu Nehalem „. Pliki, których skopiowanie trwało około 2:40 h, teraz są kopiowane w ciągu 40 minut. Oczywiście nie jest to test wysokiej jakości i jest dużo miejsca na bardziej profesjonalną próbę. Jest to jednak wyraźny wskaźnik, że wybór odpowiedniego modelu procesora może mieć duży wpływ na wydajność gościa.
Teraz się zaciekawiłem i pobiegłem:
qemu-x86_64 -cpu ?
x86 [n270]
x86 [athlon]
x86 [pentium3]
x86 [pentium2]
x86 [pentium]
x86 [486]
x86 [coreduo]
x86 [kvm32]
x86 [qemu32]
x86 [kvm64]
x86 [core2duo]
x86 [phenom]
x86 [qemu64]
I:
kvm -cpu ?model
x86 Opteron_G3 AMD Opteron 23xx (Gen 3 Class Opteron)
x86 Opteron_G2 AMD Opteron 22xx (Gen 2 Class Opteron)
x86 Opteron_G1 AMD Opteron 240 (Gen 1 Class Opteron)
x86 Nehalem Intel Core i7 9xx (Nehalem Class Core i7)
x86 Penryn Intel Core 2 Duo P9xxx (Penryn Class Core 2)
x86 Conroe Intel Celeron_4x0 (Conroe/Merom Class Core 2)
x86 [n270] Intel(R) Atom(TM) CPU N270 @ 1.60GHz
x86 [athlon] QEMU Virtual CPU version 1.0
x86 [pentium3]
x86 [pentium2]
x86 [pentium]
x86 [486]
x86 [coreduo] Genuine Intel(R) CPU T2600 @ 2.16GHz
x86 [kvm32] Common 32-bit KVM processor
x86 [qemu32] QEMU Virtual CPU version 1.0
x86 [kvm64] Common KVM processor
x86 [core2duo] Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz
x86 [phenom] AMD Phenom(tm) 9550 Quad-Core Processor
x86 [qemu64] QEMU Virtual CPU version 1.0
Przy wszystkich tych różnych wersjach trudno jest zgadnąć. „Nehalem” wydaje się najbardziej wydajny na tej liście. Teraz zastanawiam się, jak powiedzieć, który model procesora jest najlepszy dla mojego gościa? Przeglądając Internet, znalazłem następujące zasoby:
- http://rwmj.wordpress.com/2010/10/08/32-or-64-bit-virtual-cpu-in-kvm/
- http://www.linux-kvm.org/page/Tuning_KVM
Kiedy czytam te strony poprawnie, twierdzą, że „host -cpu” może przynieść najlepszą wydajność. Nie martwię się jeszcze o migrację, ponieważ oba hosty KVM są równo wyposażone (dokładnie ten sam sprzęt).
Co więc polecają doświadczeni administratorzy KVM? Czy istnieje złota zasada, a nawet matryca, na przykład „ten model jest najlepszy dla tego gościa”
Przepraszam, że sam mogłem znaleźć te informacje - prowadziłem różne wyszukiwania w Google i przeglądałem wiele stron internetowych. Nie byłem w stanie znaleźć odpowiedzi na moje pytanie.