CentOS 6 fait beaucoup plus d'E / S que CentOS 5

10

Je compare une application sur deux serveurs identiques, l'un est Centos 5.8 et l'autre est Centos 6.2. Mon application s'exécute beaucoup plus lentement (50% ou moins) sur la machine Centos 6.2.

En essayant de diagnostiquer le problème, je surveille le CPU, la RAM et les E / S tout au long de l'exécution du test de performance. Je vois que les lectures de disque sont nettement plus élevées sur la boîte Centos 6.2, mesurées avec iostat.

Les deux systèmes exécutent XFS là où mon benchmark est en cours d'exécution. Les deux sont des serveurs HP avec des contrôleurs RAID de 512 Mo de mise en cache avec 8 x 300 Go SAS exécutant RAID 10.

Voici la sortie de xfs_info pour chacun:

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
la source
Quelle est exactement ta question?
Tim Brigham
Pouvez-vous montrer vos options de montage XFS et de création de système de fichiers? Pouvez-vous décrire la configuration matérielle et du disque plus en détail?
ewwhite
Quête est que toutes choses étant égales par ailleurs, du moins celles que je peux voir, Centos 6.2 compare 50% de Centos 5.8 pour mon application. L'autre différence que je peux actuellement mesurer est que les lectures sont BEAUCOUP plus élevées.
tmcallaghan

Réponses:

10

Merci d'avoir mis à jour le message avec plus d'informations.

Vous êtes en cours d' exécution sur les systèmes ProLiant, donc il y a une certaine quantité de travail nécessaire pour optimiser votre contrôleur et de la situation d' E / S . De plus, vos supports XFS utilisent les options par défaut. N'oubliez pas que vous utilisez un pilote différent entre ces systèmes d'exploitation. Le serveur EL5 a cciss, tandis que le système EL6 utilise le hpsamodule. Il y a une différence , cependant, le problème que vous rencontrez est probablement lié aux différences de système d'exploitation. Voici donc ce que je vérifierais:

  • Modifiez vos montages XFS pour inclure noatimeet désactiver les barrières d'écriture avec nobarrier. Voici un exemple de chaîne de montage que j'utilise souvent .
  • Le comportement de l' élévateur d'E / S est différent entre vos versions Linux. Essayer le deadlineou noopélévateur E / S sur le serveur CentOS 6. Vous pouvez changer cela à la volée avec echo deadline > /sys/block/cciss\!c0d0/queue/schedulerou en ajoutant elevator=deadlinedans l'entrée de démarrage grub.
  • Assurez-vous que votre cache de lecture / écriture est optimal pour votre charge de travail. Je vais généralement avec 75% d'écriture et 25% de lecture.
  • Mettez à jour le micrologiciel sur les composants du serveur. Chaque révision du firmware du contrôleur RAID Smart Array a tendance à apporter de nouvelles fonctionnalités. Cela ressemble à un contrôleur HP Smart Array P410, alors assurez-vous que vous êtes sur la version 5.14 .

Edit :
je regarde la sortie xfs_info pour vos systèmes CentOS 5 et CentOS 6. Vous avez formaté les partitions XFS avec différents paramètres!

Le système EL5 a 32 groupes d'allocation XFS, tandis que le système EL6 n'en a que 4. Les groupes d'allocation permettent à XFS de paralléliser les opérations simultanées du système de fichiers.

Compte tenu de la quantité d'espace disponible et des spécifications du processeur de votre serveur, votre configuration EL6 existante est limitée par le minimum agcount. Voir les notes de Red Hat à ce sujet. Sur un matériel comme celui-ci, où le stockage n'est pas dans la plage de plusieurs téraoctets , je spécifie généralement un groupe d'allocation par 4 Go d'espace de partition . À tout le moins, passez à 32 pour correspondre à votre serveur EL5 ... Essayez de reformater la partition EL6 avec ces paramètres pour voir s'il y a une différence de performances ...

ewwhite
la source
J'ai essayé les 4 points ci-dessus, aucun n'a fait de différence mesurable dans les performances de mes benchmarks.
tmcallaghan
Voir ma modification ci-dessus. Les deux partitions XFS sur EL5 et EL6 ont été formatées avec des paramètres très différents.
ewwhite
Merci pour l'aide continue, je vais reformater mon XFS et voir si cela aide.
tmcallaghan
Veuillez publier les résultats.
ewwhite
3
Nous avons constaté que les pages énormes transparentes étaient le problème. En le désactivant, les performances de notre serveur Centos6 sont similaires à Centos5. La commande était "$ echo never> / sys / kernel / mm / redhad_transparent_hugepage / enabled". D'autres distributions le font via / sys / kernel / mm / transparent_hugepage / enabled "
tmcallaghan
0

Lorsque vous exécutez iotop, que fait le disque sur la boîte 6.2?

Quelles sont également vos options de montage sur l'appareil que vous lisez? Vous voudrez peut-être vous pencher sur le noatime et le relatime

ckliborn
la source
J'analyse une application MySQL et n'utilise pas d'E / S directes.
tmcallaghan
le montage est identique sur les deux machines, "/ dev / cciss / c0d0p5 / data xfs defaults 0 0"
tmcallaghan