Ich habe seit einiger Zeit auf einem Debian Etch-Root VMware Server 2.0.0 build-122956 laufen. Darunter weitere Etches, und Windows XP x64 Maschinen.
Weiterhin steht eine ESX-Maschine in einem anderen RZ, ebenfalls mit einer Debian und einer Windows XP x86 Maschine.
Die Netzkarte des Servers auf dem VMWare Server läuft ist eine "Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)"
Beide Maschinen haben mehr als ausreichend Power, und die virtuellen Maschinen laufen 1a. Angebunden sind die physikalischen Netzkarten mit 100 MBit FD
Jedoch ist mir aufgefallen, dass es Auffälligkeiten bei der Netzperformance gibt, immer dann, wenn Windows-VMs beteiligt sind.
Ich habe daher mit iperf die Übertragungsraten zwischen allen beteiligten Maschinen getestet.
Code: Alles auswählen
1 2 3 4 5
----------------------
1 | 92 91 93 12
2 |353 359 90 12
3 |255 195 12 6
4 | 47 44 15 367
5 | 10 11 10 358Angaben in MBit
Oben: Empfangende Maschine
Link: Sendende Maschine
(1+2+3) = RZ/Maschine a
(4+5) = RZ/Maschine b
1 = Host-System Debian
2 = Debian VMWare Server
3 = Windows XP x64 VMware Server
4 = Debian VMWare ESX
5 = Windows XP x86 VMWare ESX
Hier nochmal hübscher

Zuerst fällt auf, dass das Hostsystem zu seinen Maschinen "nur" mit 90 MBit redet. Zur Debian VM im anderen RZ, mit den 90 MBit, die ich erwartet hätte, aber zur Windows VM auf der gleichen Maschine gerade mal mit 12 MBit.
Was mich irritiert, ist, dass die virtuellen Maschinen untereinander hohen Durchsatz zeigen, und auch beide schnell Daten in ihr Hostsystem senden können, aber das Hostsystem nicht genau so schnell Daten in seine VMs schicken kann. Vielleicht fehlt mir ja hier wissen über den Bridged Modus, aber ich hätte nicht zufällig mit genau 90 MBit gerechnet.
Ich hätte in der Ersten Zeile bei 2 und 3 ebenso hohe Werte erwartet, wie in Zeile 2 und 3 bei 1.
Die nächste Auffälligkeit ist, dass die Debian ESX-VM zwar mit 90 MBbit Daten empfängt, aber nur mit der Hälfte sendet. An der Konfiguration der ESX-Netkarte (AMD-PCNet) ist nichts verändert worden.
Signifikant allerdings ist, dass sobald eine Windows Maschine beteiligt ist, die Performance ins bodenlose fällt. In diesem Fall also 6-15 MBit.
Die Werte zeigen also, dass die schlechten Werte zwischen den Windows-VMs nicht am Link zwischen den RZs liegen, denn die Debians können ja mit voller Geschwindigkeit miteinander reden.
Weiterhin sonderbar, dass die Debian ESX VM nur mit halbem Speed sendet.
Und natürlich das wichtigste, dass sobald die Windowse über eine Internetverbindung, also nicht innerhalb der virtuellen Umgebung, reden, die Geschwindigkeit massiv schlecht ist.
Also habe ich schlussendlich nochmal alle Varianten mit meinem Rechner zu Hause reden lassen. Ca. 14-15 MBit beträgt mein DSL-Downlink. Von den Debian Maschinen wird dies auch erreicht. Bei der Windows ESX VM sind es 10 MBit, und bei der VMWare Server Windows-Maschine sind es nur 2.5! MBit. Auch das ist mir total unklar, wie das kommt.
Vielleicht kann sich ja jemand auf diese Werte einen Reim machen und mir helfen, die Performanceprobleme in den Griff zu bekommen.
Falls noch Informationen fehlen, bitte sagt mir bescheid.
Danke im Voraus für eure Hilfe.
tin
Hardwareangaben:
Server a: AMD Phenom(tm) 9650 Quad-Core, RAM: 8GB, HDD: 2x750GB Raid 0
Server b: 2x Intel Xeon E5405, RAM: 16GB, 4x750GB Raid 10
Versionen:
Server a: VMware Server 2.0.0 build-122956
Server b: VMWare ESX 3.5
Gäste:
Windows XP x64 SP2, Debian Etch, Windows XP x86 SP3
Netzwerk im VMWare Server: Bridged
VMTools installiert.
Beispielhafte Configuration der VMWare-Server VMs:
Code: Alles auswählen
#!/usr/bin/vmware
.encoding = "UTF-8"
guestOS = "winxppro-64"
guestOSAltName = "Microsoft Windows XP Professional (64-bit)"
displayName = "windows"
memsize = "1024"
numvcpus = "2"
MemTrimRate = "0"
mainMem.useNamedFile = "False"
mem.ShareScanThreshold="4096"
mem.ShareScanTotal="0"
mem.ShareScanVM="0"
MemAllowAutoScaleDown = "FALSE"
checkpoint.vmState = ""
config.version = "8"
disk.locking=FALSE
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
ethernet0.addressType = "generated"
ethernet0.allowGuestConnectionControl = "FALSE"
ethernet0.features = "0"
ethernet0.generatedAddress = "00:0c:29:76:01:f5"
ethernet0.generatedAddressOffset = "0"
ethernet0.networkName = "vmwarebridge"
ethernet0.present = "TRUE"
ethernet0.virtualDev = "e1000"
ethernet0.wakeOnPcktRcv = "FALSE"
extendedConfigFile = "windows.vmxf"
floppy0.present = "FALSE"
ft.secondary0.enabled = "TRUE"
logging = "FALSE"
nvram = "windows.nvram"
scsi0.present = "TRUE"
scsi0.sharedBus = "none"
scsi0.virtualDev = "lsilogic"
scsi0:0.deviceType = "disk"
scsi0:0.fileName = "windows.vmdk"
scsi0:0.mode = "independent-persistent"
scsi0:0.present = "TRUE"
scsi0:0.redo = ""
tmpDirectory="/dev/shm"
tools.syncTime = "FALSE"
tools.upgrade.policy = "useGlobal"
uuid.bios = "56 4d aa 73 d1 7b 90 eb-ca 57 b4 97 42 76 01 f5"
uuid.location = "56 4d aa 73 d1 7b 90 eb-ca 57 b4 97 42 76 01 f5"
vc.uuid = "52 b2 03 06 9e fd 59 10-82 c8 64 96 58 cc 5f 2d"
virtualHW.productCompatibility = "hosted"
virtualHW.version = "4"
vmotion.checkpointFBSize = "16777216"
sched.mem.maxmemctl="0"
sched.mem.pshare.enable = "FALSE"
powerType.powerOff = "soft"
powerType.powerOn = "hard"
powerType.reset = "soft"
powerType.suspend = "hard"
prefvmx.minVmMemPct = "100"
prefvmx.useRecommendedLockedMemSize = "TRUE"