CentOS 6 делает намного больше операций ввода-вывода, чем CentOS 5

10

Я тестирую приложение на двух идентичных серверах, один - Centos 5.8, а другой - Centos 6.2. Мое приложение работает намного медленнее (на 50% или менее) на компьютере Centos 6.2.

Пытаясь диагностировать проблему, я отслеживаю ЦП, ОЗУ и ввод-вывод на протяжении всего теста. Я вижу, что чтение дисков значительно выше в окне Centos 6.2, по сравнению с iostat.

Обе системы работают под управлением XFS, где работает мой тест. Оба являются серверами HP с 512 МБ кеширующих RAID-контроллеров с 8 x 300 ГБ SAS с RAID 10.

Вот вывод xfs_info для каждого:

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
источник
Что именно ваш вопрос?
Тим Бригам
Можете ли вы показать свои возможности монтирования XFS и создания файловой системы? Можете ли вы описать аппаратное обеспечение и расположение дисков более подробно?
2012 года
Дело в том, что при прочих равных условиях, по крайней мере, тех, которые я вижу, Centos 6.2 показывает 50% от Centos 5.8 для моего приложения. Другое отличие, которое я могу измерить в настоящее время, состоит в том, что показания НАМНОГО выше.
tmcallaghan

Ответы:

10

Спасибо за обновление поста с дополнительной информацией.

Вы работаете в системах ProLiant, поэтому для оптимизации работы контроллера и ввода-вывода требуется определенная работа . Кроме того, ваши XFS-монтировки используют параметры по умолчанию. Помните, что вы используете разные драйверы между этими операционными системами. Сервер EL5 имеет cciss, в то время как система EL6 использует hpsaмодуль. Есть разница , однако, проблема, с которой вы сталкиваетесь, вероятно, связана с различиями операционной системы. Итак, вот что я проверю:

  • Измените ваши монтирования XFS, чтобы включить noatimeи отключить барьеры записи с помощью nobarrier. Вот пример строки монтирования, которую я часто использую .
  • Поведение лифта ввода / вывода отличается в разных версиях Linux. Попробуйте deadlineили noopI / O лифт на CentOS 6 серверов. Вы можете изменить это на лету с помощью echo deadline > /sys/block/cciss\!c0d0/queue/schedulerили добавив elevator=deadlineв загрузочную запись grub.
  • Убедитесь, что ваш кэш для чтения / записи оптимален для вашей рабочей нагрузки. Я обычно хожу с 75% писать и 25% читать.
  • Обновите прошивку на компонентах сервера. Каждая версия микропрограммы RAID-контроллера Smart Array имеет тенденцию приносить новые функциональные возможности. Это похоже на контроллер HP Smart Array P410, поэтому убедитесь, что вы используете версию 5.14 .

Изменить :
я смотрю на вывод xfs_info для ваших систем CentOS 5 и CentOS 6. Вы отформатировали разделы XFS с другими параметрами!

Система EL5 имеет 32 группы размещения XFS, а система EL6 имеет только 4. Группы размещения позволяют XFS распараллеливать параллельные операции файловой системы.

Учитывая объем доступного пространства и характеристики процессора вашего сервера, ваши существующие настройки EL6 ограничены низким agcount. Смотрите примечания Red Hat по этому вопросу. На подобном оборудовании, где хранилище не находится в диапазоне нескольких терабайт , я обычно указываю группу выделения на 4 ГБ пространства раздела . Как минимум, перейдите к 32, чтобы сопоставить ваш сервер EL5 ... Попробуйте переформатировать раздел EL6 с этими параметрами, чтобы увидеть, есть ли разница в производительности ...

ewwhite
источник
Опробовав все 4 из вышеперечисленного, ни один из них не оказал заметного влияния на результаты моих тестов.
tmcallaghan
Смотрите мое редактирование выше. Два раздела XFS на EL5 и EL6 были отформатированы с совершенно разными параметрами.
Ewwhite
Спасибо за постоянную помощь, я переформатирую свой XFS и посмотрю, поможет ли это.
tmcallaghan
Пожалуйста, опубликуйте результаты.
ewwhite
3
Мы обнаружили, что проблема заключалась в прозрачных огромных страницах. Отключив его, производительность нашего сервера Centos6 аналогична Centos5. Команда была «$ echo never> / sys / kernel / mm / redhad_transparent_hugepage / enabled». Другие дистрибутивы делают это через / sys / kernel / mm / transparent_hugepage / enabled "
tmcallaghan
0

Когда вы запускаете iotop, что делает чтение с диска в окне 6.2?

Кроме того, каковы ваши варианты монтирования на устройстве, с которого вы читаете? Вы можете посмотреть в noatime и перерыв

ckliborn
источник
Я тестирую приложение MySQL и не использую прямой ввод-вывод.
tmcallaghan
mount идентичен на обеих машинах, "/ dev / cciss / c0d0p5 / data xfs по умолчанию 0 0"
tmcallaghan