Я тестирую приложение на двух идентичных серверах, один из которых - 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
модуль. Там это разницаОднако проблема, с которой вы столкнулись, вероятно, связана с различиями в операционных системах. Итак, вот что я бы проверил:
noatime
и чтобы отключить барьеры записи с участием nobarrier
. Вот образец строки монтирования, которую я часто использую.deadline
или noop
Лифт ввода-вывода на сервере CentOS 6. Вы можете изменить это на лету с помощью echo deadline > /sys/block/cciss\!c0d0/queue/scheduler
или добавив elevator=deadline
в загрузочной записи grub. редактировать:
Я смотрю на вывод 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