Назад | Перейти на главную страницу

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

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

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

Обе системы работают под управлением XFS, где работает мой тест. Оба являются серверами HP с кэширующими RAID-контроллерами объемом 512 МБ и 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

Спасибо, что добавили в пост дополнительную информацию.

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

  • Измените ваши крепления XFS, чтобы включить noatime и чтобы отключить барьеры записи с участием nobarrier. Вот образец строки монтирования, которую я часто использую.
  • Лифт ввода / вывода поведение различается между вашими версиями Linux. Попробуйте deadline или noop Лифт ввода-вывода на сервере 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 с этими параметрами, чтобы увидеть, есть ли разница в производительности ...

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

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