Ubuntu KVM Disk E/A wird nach einiger Zeit langsamer

Ubuntu KVM Disk E/A wird nach einiger Zeit langsamer

Host-System:

Ubuntu Server x64 12.04 
mdadm raid 1 (/dev/sda /dev/sdb)
no lvm
dd bs=1M count=256 if=/dev/zero of=filename conv=fdatasync
avarage ~ 40 MB/s

NCQ on disks is disabled
WriteCache is disables

Gastsystem:

Ubuntu server i386 12.04
with lvm2 /10Gb /200Gb /200Gb disks all on lv-root (LV)
  --- Physical volume ---
  PV Name               /dev/vda5
  VG Name               root-vg
  PV Size               9.76 GiB / not usable 2.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              2498
  Free PE               0
  Allocated PE          2498

  --- Physical volume ---
  PV Name               /dev/vdb
  VG Name               root-vg
  PV Size               195.31 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              49999
  Free PE               0
  Allocated PE          49999

  --- Physical volume ---
  PV Name               /dev/vdc
  VG Name               root-vg
  PV Size               195.31 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              49999
  Free PE               0
  Allocated PE          49999

 dd bs=1M count=256 if=/dev/zero of=filename conv=fdatasync
    avarage ~ 30 MB/s
all disks in guest are RAWformat /VirtioBUS / No cache / IOmode=native

nach einiger Zeit fällt die Schreibgeschwindigkeit auf 1 MB/s, aber das Hostsystem ist nicht geladen und der DD-Test zeigt dieselben 30-40 MB/s, CPU-Auslastung 10 %. Ein Neustart des Gasts hilft eine Zeit lang. Es gibt keine Fehler/Störungen/kein MDADM-Neuaufbau oder -Neusynchronisierung.

Ich habe keine Ahnung, wo ein Problem liegt oder wo ich graben soll.


Das hier scheint beim Gast zu helfen: sync && echo 3 > /proc/sys/vm/drop_caches


Ähnliches ProblemAuf einem System mit 64 GB Speicher ist der Linux-Puffer beim Kopieren mit dd nach dev null voll und die E/A wird bis zum manuellen drop_caches gestoppt

Antwort1

Ich denke, die anfängliche Leistung von 30-40 MB/s ist auf das Caching des Linux-Kernels zurückzuführen (und auf alle anderen Caching-Aktivitäten auf Hardwareebene). Sobald dieses Caching „aufgebraucht“ ist, beginnt der eigentliche Festplattenzugriff und die Leistung sinkt.

Darüber hinaus, umddUm eine bessere Leistung zu erzielen, stellen Sie diebs=Argument auf eine einigermaßen große Größe. Persönlich stelle ich es gerne auf etwa 1/3-1/2 des verfügbaren RAM ein. Ihre Einstellung von 1M ist nicht optimal und der Hauptgrund für die niedrigen Leistungszahlen. Aber selbst bei optimalerbs=Einstellung würden Sie, wie oben erklärt, irgendwann einen Leistungsabfall feststellen.

verwandte Informationen