I/O-Performance-Problem mit Debian 5 unter VMware ESX 3i
Jan 'RedBully' Seiffert
redbully at cc.hs-owl.de
Tue Aug 4 14:07:13 CEST 2009
Dominik Echterbruch wrote:
> Jan 'RedBully' Seiffert wrote:
>>> ich habe hier einen Server stehen mit Hardware-RAID 1 auf zwei SATA
>>> Festplatten. Sicherlich nicht das Performancemonster schlechthin, aber
>>> sollte schon gehen. In einer VM (im Moment die einzige auf diesem
>>> Server) läuft ein Debian 5, das einen SVN-Server via HTTPS zur Verfügung
>>> stellt und sich quasi zu Tode langweilt. Die Datenpartition nutzt LVM,
>>> was sich ja aber eigentlich nicht so extrem auswirken dürfte.
>>>
>>> Mein Problem ist, dass Dateisystemoperationen (z.B. Hinzufügen von
>>> Dateien zum Repository) extrem langsam sind. Hat einer von euch schon
>>> mal Erfahrungen mit dieser Konstellation gemacht und kann mir einen Tipp
>>> geben, wie ich das beschleunigen kann. Netzwerk, etc. kann ich als
>>> Flaschenhals ausschließen, da auch ein lokaler Checkout extrem
>>> langsam ist.
>>>
>> Was ist der IO-Treiber im Guest?
>
> SCSI(-Emulation), soweit ich das eben gesehen habe. Aber guck ruhig
> nochmal in die angehängte dmesg.txt. Sicher ist sicher.
>
Nunja, das es im Linux SCSI-Layer (also /dev/sd...) rauskommt, ist "klar", ich
war mich eher am Fragen welches der genaue Treiber ist der Verwendet wird.
>> Und was ist der "Treiber" im Host. Sata im
>> Compatible Mode oder AHCI?
>>
>
> Ui... Hervorragende Frage. Da muss ich mal eben in der Doku von VMware
> nachschlagen, wie ich das raus bekomme. Der Infrastructure-Client ist da
> leider nicht sehr gesprächig und für die Konsole braucht's irgendwelche
> lustigen Benutzer und Passwörter. Die muss ich grad mal raus suchen.
> Da es sich aber beim ESX 3i im Endeffekt nur um ein Redhat handelt,
> denke ich, dass die Platten dort ebenfalls als SCSI-Emulation laufen.
>
Nun, das kann man vielleicht auch im BIOS ablesen ;)
Aber wer weiss was VMWare da an dem RedHat vergurgt hat und was das wieder fuer
ein Monster aus dem Pleistozaen ist.
>> Ueberhaupt, da es ja in iner VM laeuft, Clocksource?
>
> Laut dmesg keine ;) Einziger Eintrag zu clock war das Einstellen der
> Uhrzeit per CMOS.
>
Hmmm,
Kein PM-Timer, kein Hpet, kein TSC? vmware clock oder sowas? warsch. guter alter
PIT...
Debian 5 hatte doch nen 2.6.27.
Keine Zeile:
"Switched to high resolution mode on CPU 0"
im dmesg?
>> APIC-mode?
>
> Flat.
>
Also /proc/interrupts spuckt nicht an einem Interrupt "xt-pic" aus?
>> Hardware durchgereicht?
>>
>
> Soweit ich das grad im Kopf habe, handelt es sich um
> Paravirtualisierung. Da wird die Hardware zu großen Teilen
> durchgereicht. Also sage ich mal vorsichtig ja.
>
Jein.
Paravirtualisierung heist, das der Gast-Kernel "mithilft" und sich bei z.B.
aenderungen an Priviligierten Recourcen nicht auf emulierte Harfware verlaest
(der Kernel denkt nicht er arbeitet mit echtem Metal), sondern den
Hypervisor/die VM fragt "kannst du das mal fuer mich machen", um den Exception-
und Emulationsoverhaed zu sparen (also eher einen Func-call zu machen). Also
"Basichardware": Prozessor-MSR, MTTRs, Pagetables, etc.
Es gibt aber noch die uebliche PC-Hardware "da draussen". Das ist fleissend von
sowas wie dem APIC (der aber mittlerweile auch mittlerweile in der CPU
sitzt...), dem 8052 Tastaturcontroller (good old A20 Gate), PIT, aber eben auch
deine NIC, Storageadapter, GraKa.
Die externe Hardware muss/kann nun "richtig" Emuliert werden. Was langsam ist,
aber sonst kein Netzwerk/Platte/Boot.
Hier gibt es eben als Loesung virtuelle Geraete, die mit speziellen
Kerneltriebern dann nur noch ein "FIFO" + Func-Call in die VM sind, Was die
Geschwindigkeit erheblich verbessert. (Sowas wie die spez. X-Treiber Graka
Treiber "virtualbox" und "vmware", oder X-Input Treiber "virtualbox" oder
"vmmouse", die dann besser mit dem Betrieb "im Fenster" harmonieren)
Zusetzlich dazu kann man ja mittlerweile ganze Geraete 1:1 echt "durchreichen"
und so z.B. eine NIC oder einen Storegecontroller einer VM zuordnen die sie dann
"richtig" nativ verwenden kann. Das ist dann die schnellste Loesung, oder
erlaubt "unangenehmen Geraeten" zu Funktionieren (RS232 kram, "echtes" 3D aus
der GraKa).
>> dmesg
>> /proc/interupts
>> /proc/timer_list
>> /proc/cpuinfo
>>
>
> Siehe angehängte Dateien.
>
return -ENOENT
> Grüße,
> Dominik
Gruss
Jan
--
A fine is a tax for doing wrong. A tax is a fine for doing well.
More information about the Linux
mailing list