CentOS 6 melakukan lebih banyak IO daripada CentOS 5

10

Saya membuat tolok ukur aplikasi pada dua server yang identik, satu adalah Centos 5.8 dan yang lainnya adalah Centos 6.2. Aplikasi saya berjalan jauh lebih lambat (50% atau kurang) pada mesin Centos 6.2.

Dalam mencoba mendiagnosis masalah ini, saya melacak CPU, RAM, dan IO selama proses benchmark. Saya melihat bahwa disk membaca secara signifikan lebih tinggi pada kotak Centos 6.2, sebagaimana diukur dengan iostat.

Kedua sistem menjalankan XFS tempat benchmark saya berjalan. Keduanya adalah server HP dengan pengendali RAID caching 512MB dengan SAS 8 x 300GB yang menjalankan RAID 10.

Berikut ini adalah output dari xfs_info untuk masing-masing:

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
sumber
Apa sebenarnya pertanyaan Anda?
Tim Brigham
Bisakah Anda menunjukkan opsi pembuatan XFS mount dan sistem file Anda? Bisakah Anda menggambarkan tata letak perangkat keras dan disk secara lebih rinci?
ewwhite
Quest adalah bahwa semua hal dianggap sama, setidaknya yang dapat saya lihat, Centos 6.2 adalah pembandingan 50% dari Centos 5.8 untuk aplikasi saya. Perbedaan lain yang saat ini dapat saya ukur adalah bacaan jauh lebih tinggi.
tmcallaghan

Jawaban:

10

Terima kasih telah memperbarui posting dengan informasi lebih lanjut.

Anda menjalankan sistem ProLiant, jadi ada sejumlah pekerjaan yang diperlukan untuk mengoptimalkan pengontrol dan situasi I / O Anda . Selain itu, pemasangan XFS Anda menggunakan opsi default. Ingatlah bahwa Anda menggunakan driver yang berbeda antara sistem operasi ini. Server EL5 memiliki cciss, sedangkan sistem EL6 menggunakan hpsamodul. Ada perbedaan , namun, masalah yang Anda alami mungkin terkait dengan perbedaan sistem operasi. Jadi, inilah yang akan saya periksa:

  • Ubah XFS Anda tunggangan untuk memasukkan noatimedan menonaktifkan menulis hambatan dengan nobarrier. Berikut ini contoh string mount yang sering saya gunakan .
  • Perilaku I / O elevator berbeda antara versi Linux Anda. Coba deadlineatau noopI / O Lift di CentOS 6 Server. Anda dapat mengubahnya dengan echo deadline > /sys/block/cciss\!c0d0/queue/scheduleratau dengan menambahkan elevator=deadlineentri boot grub.
  • Pastikan cache baca / tulis Anda optimal untuk beban kerja Anda. Saya biasanya pergi dengan 75% menulis dan membaca 25%.
  • Perbarui firmware pada komponen server. Setiap revisi dari firmware pengontrol RAID Smart Array cenderung membawa fungsionalitas baru. Ini terdengar seperti pengontrol HP Smart Array P410, jadi pastikan Anda menggunakan versi 5.14 .

Sunting :
Saya melihat output xfs_info untuk sistem CentOS 5 dan CentOS 6 Anda. Anda memformat partisi XFS dengan parameter berbeda!

Sistem EL5 memiliki 32 grup alokasi XFS, sedangkan sistem EL6 hanya memiliki 4. Grup alokasi memungkinkan XFS untuk memparalelkan operasi sistem file bersamaan.

Mengingat jumlah ruang yang tersedia dan spesifikasi CPU server Anda, pengaturan EL6 Anda saat ini dibatasi oleh yang rendah agcount. Lihat catatan Red Hat tentang ini. Pada perangkat keras seperti ini, di mana penyimpanan tidak dalam kisaran multi-Terabyte , saya biasanya menentukan grup alokasi per 4GB ruang partisi . Paling tidak, buka 32 untuk mencocokkan server EL5 Anda ... Cobalah memformat ulang partisi EL6 dengan parameter tersebut untuk melihat apakah ada perbedaan kinerja ...

putih
sumber
Mencoba semua 4 hal di atas, tidak ada yang membuat perbedaan yang terukur dalam kinerja benchmark saya.
tmcallaghan
Lihat hasil edit saya di atas. Dua partisi XFS pada EL5 dan EL6 diformat dengan parameter yang sangat berbeda.
ewwhite
Terima kasih atas bantuan yang berkelanjutan, saya akan memformat ulang XFS saya dan melihat apakah itu membantu.
tmcallaghan
Silakan kirim hasilnya.
ewwhite
3
Kami telah menemukan bahwa halaman besar transparan adalah masalahnya. Dengan mematikannya kinerja server Centos6 kami mirip dengan Centos5. Perintahnya adalah "$ echo never> / sys / kernel / mm / redhad_transparent_hugepage / enabled". Distribusi lain melakukannya melalui / sys / kernel / mm / transparent_hugepage / enabled "
tmcallaghan
0

Ketika Anda menjalankan iotop, apa yang dilakukan disk membaca di kotak 6.2?

Juga apa opsi pemasangan pada perangkat yang Anda baca? Anda mungkin ingin melihat ke noatime dan relatime

ckliborn
sumber
Saya membuat tolok ukur aplikasi MySQL dan tidak menggunakan IO langsung.
tmcallaghan
mount identik pada kedua mesin, "/ dev / cciss / c0d0p5 / data xfs default 0 0"
tmcallaghan