Saya memiliki sistem yang berjalan dengan pemanfaatan IO yang rendah:
- HP DL380G7 (RAM 24gb)
- Smart Array p410i dengan cache tulis berkapasitas 512mb yang didukung
- 6x SAS 10k rpm 146gb drive di RAID10
- Linux Debian Squeze, ext4 + LVM, hpacucli diinstal
iostat (cciss / c0d1 = array raid10, dm-7 = 60G lvm untuk pengujian):
Perangkat: rrqm / s wrqm / sr / sw / s rMB / s wMB / s avgrq-sz avgqu-sz menunggu svctm% util cciss / c0d0 0,00 101,20 0,00 6,20 0,00 0,42 138,58 0,00 0,00 0,00 0,00 cciss / c0d1 0,00 395,20 3,20 130,20 0,18 2,05 34,29 0,04 0,26 0,16 2,08 dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 dm-2 0,00 0,00 3,20 391,00 0,18 1,53 8,87 0,04 0,11 0,05 1,84 dm-3 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 dm-4 0,00 0,00 0,00 106,80 0,00 0,42 8,00 0,00 0,00 0,00 0,00 dm-5 0,00 0,00 0,00 0,60 0,00 0,00 8,00 0,00 0,00 0,00 0,00 dm-6 0,00 0,00 0,00 2,80 0,00 0,01 8,00 0,00 0,00 0,00 0,00 dm-1 0,00 0,00 0,00 132,00 0,00 0,52 8,00 0,00 0,02 0,01 0,16 dm-7 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 dm-8 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
hpacucli "ctrl all show config"
Smart Array P410i di Slot 0 (Tertanam) (sn: 5001438011FF14E0) array A (SAS, Ruang Tidak Terpakai: 0 MB) logis drive 1 (136,7 GB, RAID 1, OK) drive fisik 1I: 1: 1 (port 1I: kotak 1: bay 1, SAS, 146 GB, OK) physicaldrive 1I: 1: 2 (port 1I: box 1: bay 2, SAS, 146 GB, OK) array B (SAS, Ruang Tidak Terpakai: 0 MB) logicaldrive 2 (410.1 GB, RAID 1 + 0, OK) physicaldrive 1I: 1: 3 (port 1I: box 1: bay 3, SAS, 146 GB, OK) physicaldrive 1I: 1: 4 (port 1I: box 1: bay 4, SAS, 146 GB, OK) physicaldrive 2I: 1: 5 (port 2I: box 1: bay 5, SAS, 146 GB, OK) physicaldrive 2I: 1: 6 (port 2I: box 1: bay 6, SAS, 146 GB, OK) physicaldrive 2I: 1: 7 (port 2I: box 1: bay 7, SAS, 146 GB, OK) physicaldrive 2I: 1: 8 (port 2I: box 1: bay 8, SAS, 146 GB, OK) SEP (Vendor ID PMCSIERA, Model SRC 8x6G) 250 (WWID: 5001438011FF14EF)
hpacucli "ctrl all show status"
Smart Array P410i di Slot 0 (Tertanam) Status Pengontrol: Oke Status Cache: Oke Status Baterai / Kapasitor: Oke
Perintah Sysbench
sysbench --init-rng = on --test = fileio --num-threads 16 --file-num = 128 --file-block-size = 4K --file-total-size = 54G --file-test -mode = rndrd --file-fsync-freq = 0 --file-fsync-end = tidak berjalan --max-request = 30000
Hasil Sysbench
sysbench 0.4.12: tolok ukur evaluasi sistem multi-utas Menjalankan tes dengan opsi berikut: Jumlah utas: 16 Menginisialisasi generator angka acak dari timer. Bendera ekstra file terbuka: 0 128 file, masing-masing 432Mb Ukuran file total 54Gb Ukuran blok 4Kb Jumlah permintaan acak untuk IO acak: 30000 Rasio Baca / Tulis untuk uji IO acak kombinasi: 1,50 Menggunakan mode I / O sinkron Melakukan tes baca acak Utas dimulai! Selesai Operasi yang dilakukan: 30000 Baca, 0 Tulis, 0 Lainnya = 30000 Total Baca 117.19Mb Tertulis 0b Total ditransfer 117.19Mb (935.71Kb / detik) 233.93 Permintaan / detik dieksekusi Ringkasan eksekusi tes: total waktu: 128.2455s total jumlah acara: 30000 total waktu yang diambil oleh eksekusi acara: 2051.5525 statistik per permintaan: min: 0,00 ms rata-rata: 68,39 ms maks: 2010.15ms sekitar 95 persentil: 660,40 ms Keadilan benang: acara (rata-rata / stddev): 1875.0000 / 111.75 waktu eksekusi (avg / stddev): 128.2220 / 0.02
iostat selama pengujian
avg-cpu:% user% nice% system% iowait% steal% idle 0,00 0,01 0,10 31,03 0,00 68,86 Perangkat: rrqm / s wrqm / sr / sw / s rMB / s wMB / s avgrq-sz avgqu-sz menunggu svctm% util cciss / c0d0 0,00 0,10 0,00 0,60 0,00 0,00 9,33 0,00 0,00 0,00 0,00 cciss / c0d1 0,00 46,30 208,50 1,30 0,82 0,10 8,99 29,03 119,75 4,77 100,00 dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 dm-2 0,00 0,00 0,00 51,60 0,00 0,20 8,00 49,72 877,26 19,38 100,00 dm-3 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 dm-4 0,00 0,00 0,00 0,70 0,00 0,00 8,00 0,00 0,00 0,00 0,00 dm-5 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 dm-6 0,00 0,00 0,00 0,00 0,00 0,00 0,00 7,00 0,00 0,00 100,00 dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 7,00 0,00 0,00 100,00 dm-7 0,00 0,00 208,50 0,00 0,82 0,00 8,04 25,00 75,29 4,80 100,00 dm-8 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
Bonnie ++ v1.96
cmd: / usr / sbin / bonnie ++ -c 16 -n 0 Menulis byte pada satu waktu ... selesai Menulis dengan cerdas ... selesai Menulis ulang ... selesai Membaca satu byte pada satu waktu ... selesai Membaca dengan cerdas ... selesai mulai ... selesai ... selesai ... selesai ... selesai ... selesai ... Versi 1.96 ------ Output Sekuensial ------ - Input Penting- --Random- Concurrency 16 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Ukuran Mesin K / detik% CP K / detik% CP K / detik% CP K / detik% CP K / detik% CP / detik% CP seo-db 48304M 819 99 188274 17 98395 8 2652 78 201280 8 265.2 1 Latensi 14899us 726ms 15194ms 100ms 122ms 665ms 1,96,1,96, seo-db, 16,1337541936,48304M ,, 819,99,188274,17,98395,8,2652,78,201280,8,265,2,1 ,,,,,,,,,,,,,,,,, ,,,, 14899us, 726ms, 15194ms, 100ms, 122ms, 665ms ,,,,,,
Pertanyaan
Jadi, sysbench menunjukkan 234 pembacaan acak per detik.
Saya berharap setidaknya 400.
Apa yang bisa menjadi hambatan? LVM?
Sistem lain dengan mdadm raid1 + 2x 7200rpm drive menunjukkan lebih dari 200 pembacaan acak per detik ...
Terima kasih atas bantuannya!
debian
lvm
hp
performance
hp-smart-array
Oleg Golovanov
sumber
sumber
sysbench
baris perintah khusus ini ? Apakah Anda mensimulasikan skenario penggunaan dunia nyata?Jawaban:
Sistem Anda pasti berkinerja buruk berdasarkan spesifikasi perangkat keras Anda. Saya memuat
sysbench
utilitas pada beberapa server HP ProLiant DL380 G6 / G7 yang tidak aktif yang menjalankan CentOS 5/6 untuk memeriksa kinerjanya. Ini adalah partisi tetap normal bukan LVM. (Saya biasanya tidak menggunakan LVM, karena fleksibilitas yang ditawarkan oleh pengontrol HP Smart Array)DL380 G6 memiliki 6-disk RAID 1 + 0 array pada Smart Array P410 controller dengan 512MB cache yang didukung baterai. DL380 G7 memiliki susunan SLC SSD perusahaan 2-disk. Sistem file adalah XFS . Saya menggunakan baris perintah sysbench yang sama seperti yang Anda lakukan:
Hasil saya adalah 1.595 acak baca-per-detik di 6-disk.
Pada SSD, hasilnya adalah 39047 pembacaan acak per detik . Hasil lengkap ada di akhir posting ini ...
Adapun pengaturan Anda, hal pertama yang melompat pada saya adalah ukuran partisi pengujian Anda. Anda hampir mengisi partisi 60GB dengan file tes 54GB. Saya tidak yakin apakah ext4 memiliki masalah kinerja di 90 +%, tapi itu hal tercepat untuk Anda ubah dan uji ulang. (atau gunakan kumpulan data uji yang lebih kecil)
Bahkan dengan LVM, ada beberapa opsi penyetelan yang tersedia pada pengontrol / pengaturan disk ini. Memeriksa baca-depan dan mengubah pengaturan penjadwal I / O dari cfq default ke batas waktu atau noop sangat membantu. Silakan lihat pertanyaan dan jawabannya di: Linux - penyetelan pengontrol RAID perangkat keras dunia nyata (scsi dan cciss)
Apa rasio cache pengontrol RAID Anda? Saya biasanya menggunakan saldo tulis / baca 75% / 25%. Ini harus menjadi tes cepat. Susunan 6 disk selesai dalam 18 detik. Waktu Anda lebih dari 2 menit.
Bisakah Anda menjalankan uji bonnie ++ atau iozone pada partisi / array yang dimaksud? Akan sangat membantu untuk melihat apakah ada hambatan lain pada sistem. Saya tidak terbiasa dengan sysbench , tapi saya pikir alat-alat lain ini akan memberi Anda gambaran yang lebih baik dari kemampuan sistem.
Opsi mount filesystem mungkin membuat perbedaan kecil, tapi saya pikir masalahnya bisa lebih dalam dari itu ...
output hpacucli ...
sysbench DL380 G6 6-disk hasil ...
sysbench DL380 G7 SSD hasil ...
sumber
bonnie++
baris perintah Anda ?deadline
juga ... Di bawah beban DB, mungkin berjalan lebih baik daripadanoop
, ditambah ada beberapa merdu tambahan di Anda/sys/block/cciss1/queue/iosched/
jika Anda gunakandeadline
. Lihat posting ini untuk detail lebih lanjut tentang penyetelan yang lebih halus. Saya bisa mendapatkan tes itu hingga 2600 pembacaan acak / detik dengan melakukannya.