CentOS 6 macht viel mehr E / A als CentOS 5

10

Ich vergleiche eine Anwendung auf zwei identischen Servern, einer ist Centos 5.8 und der andere ist Centos 6.2. Meine Anwendung läuft auf dem Centos 6.2-Computer viel langsamer (50% oder weniger).

Bei dem Versuch, das Problem zu diagnostizieren, verfolge ich CPU, RAM und E / A während des gesamten Benchmark-Laufs. Ich sehe, dass die Festplattenlesevorgänge auf der Centos 6.2-Box deutlich höher sind, gemessen mit iostat.

Auf beiden Systemen wird XFS ausgeführt, auf dem mein Benchmark ausgeführt wird. Beide sind HP Server mit 512 MB Caching-RAID-Controllern mit 8 x 300 GB SAS, auf denen RAID 10 ausgeführt wird.

Hier ist die Ausgabe von xfs_info für jeden:

centos5

meta-data=/dev/cciss/c0d0p5      isize=256    agcount=32, agsize=8034208 blks
         =                       sectsz=512   attr=0
data     =                       bsize=4096   blocks=257094144, imaxpct=25
         =                       sunit=32     swidth=128 blks, unwritten=1
naming   =version 2              bsize=4096 
log      =internal               bsize=4096   blocks=32768, version=1
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0

centos6

meta-data=/dev/sda5              isize=256    agcount=4, agsize=57873856 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=231495424, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal               bsize=4096   blocks=113034, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
tmcallaghan
quelle
Was genau ist deine Frage?
Tim Brigham
Können Sie Ihre XFS-Mount- und Dateisystemerstellungsoptionen anzeigen? Können Sie das Hardware- und Festplattenlayout genauer beschreiben?
ewwhite
Quest ist, dass alle Dinge gleich sind, zumindest die, die ich sehen kann. Centos 6.2 vergleicht 50% von Centos 5.8 für meine Anwendung. Der andere Unterschied, den ich derzeit messen kann, ist, dass die Lesevorgänge VIEL höher sind.
tmcallaghan

Antworten:

10

Vielen Dank, dass Sie den Beitrag mit weiteren Informationen aktualisiert haben.

Sie laufen auf ProLiant-Systemen, daher ist ein gewisser Arbeitsaufwand erforderlich, um Ihre Controller- und E / A-Situation zu optimieren . Außerdem verwenden Ihre XFS-Bereitstellungen die Standardoptionen. Denken Sie daran, dass Sie zwischen diesen Betriebssystemen einen anderen Treiber verwenden. Der EL5-Server hat cciss, während das EL6-System das hpsaModul verwendet. Es gibt einen Unterschied , aber das Problem, das Sie haben, hängt wahrscheinlich mit den Unterschieden des Betriebssystems zusammen. Also hier ist, was ich überprüfen würde:

  • Ändern Sie Ihre XFS-Mounts noatime, um Schreibbarrieren mit einzuschließen und zu deaktivierennobarrier . Hier ist eine Beispiel-Mount-Zeichenfolge, die ich häufig verwende .
  • Das Verhalten von E / A-Aufzügen unterscheidet sich zwischen Ihren Linux-Versionen. Probieren Sie den deadlineoder noopI / O-Aufzug auf dem CentOS 6-Server aus. Sie können dies im laufenden Betrieb mit echo deadline > /sys/block/cciss\!c0d0/queue/scheduleroder durch Anhängen elevator=deadlinedes Grub-Boot-Eintrags ändern .
  • Stellen Sie sicher, dass Ihr Lese- / Schreibcache für Ihre Arbeitslast optimal ist. Normalerweise schreibe ich zu 75% und lese zu 25%.
  • Aktualisieren Sie die Firmware auf den Serverkomponenten. Jede Überarbeitung der Smart Array RAID-Controller-Firmware bringt neue Funktionen mit sich. Dies klingt wie ein HP Smart Array P410-Controller. Stellen Sie daher sicher, dass Sie Version 5.14 verwenden .

Bearbeiten :
Ich betrachte die xfs_info-Ausgabe für Ihre CentOS 5- und CentOS 6-Systeme. Sie haben die XFS-Partitionen mit verschiedenen Parametern formatiert!

Das EL5-System verfügt über 32 XFS-Zuordnungsgruppen, während das EL6-System nur über 4 Zuordnungsgruppen verfügt. Mit Zuordnungsgruppen kann XFS gleichzeitige Dateisystemvorgänge parallelisieren.

Angesichts des verfügbaren Speicherplatzes und der CPU-Spezifikation Ihres Servers wird Ihr vorhandenes EL6-Setup durch den niedrigen Wert eingeschränkt agcount. Siehe hierzu die Hinweise von Red Hat . Auf Hardware wie dieser, bei der der Speicher nicht im Multi-Terabyte-Bereich liegt , gebe ich normalerweise eine Zuordnungsgruppe pro 4 GB Partitionsspeicher an . Gehen Sie mindestens zu 32, um Ihren EL5-Server abzugleichen ... Versuchen Sie, die EL6-Partition mit diesen Parametern neu zu formatieren, um festzustellen, ob es einen Leistungsunterschied gibt ...

ewwhite
quelle
Bei allen vier oben genannten Tests hat keiner einen messbaren Unterschied in der Leistung meiner Benchmarks bewirkt.
tmcallaghan
Siehe meine Bearbeitung oben. Die beiden XFS-Partitionen auf EL5 und EL6 wurden mit sehr unterschiedlichen Parametern formatiert.
ewwhite
Vielen Dank für die fortgesetzte Unterstützung. Ich werde mein XFS neu formatieren und prüfen, ob dies hilfreich ist.
tmcallaghan
Bitte posten Sie die Ergebnisse.
ewwhite
3
Wir haben festgestellt, dass transparente riesige Seiten das Problem waren. Durch das Ausschalten ähnelt die Leistung unseres Centos6-Servers der von Centos5. Der Befehl lautete "$ echo never> / sys / kernel / mm / redhad_transparent_hugepage / enabled". Andere Distributionen tun dies über / sys / kernel / mm / transparent_hugepage / enabled "
tmcallaghan
0

Was liest die Festplatte beim Ausführen von iotop auf der 6.2-Box?

Welche Mount-Optionen haben Sie für das Gerät, von dem Sie lesen? Vielleicht möchten Sie sich mit Noatime und Relatime befassen

ckliborn
quelle
Ich vergleiche eine MySQL-Anwendung und verwende keine direkten E / A.
tmcallaghan
mount ist auf beiden Computern identisch, "/ dev / cciss / c0d0p5 / data xfs standardmäßig 0 0"
tmcallaghan