Saat menghitung IOPS untuk array RAID tradisional, seseorang dapat menggunakan rumus berikut (Dipinjam dari Mendapatkan IOPS v1.3 pada Symantec Connect):
Ieffective = (n * Isingle) / (READ% + (F * WRITE%))
Dimana:
- Efektif adalah jumlah efektif IOPS
- Isingle adalah IOPS rata-rata satu drive .
- n adalah jumlah disk dalam array
- READ% adalah sebagian kecil dari pembacaan yang diambil dari profil disk
- WRITE% adalah fraksi dari penulisan yang diambil dari profil disk
F adalah penalti penulisan RAID :
RAID Level Write Penalty RAID-0 1 RAID-1 2 RAID-5 4 RAID-6 6 RAID-10 2 RAID-DP 2
Formula pada dasarnya adalah fungsi dari:
- IOPS untuk setiap drive individual dalam array
- Jumlah disk. Lebih banyak disk berarti lebih banyak IOPS
- Denda RAID untuk setiap operasi penulisan.
- RAID5 & RAID6 membutuhkan 4+ operasi disk untuk setiap penulisan. Pengontrol harus membaca blok dan kemudian membaca data paritas (dua operasi), menghitung data paritas baru dan kemudian memperbarui blok paritas dan memperbarui blok data (Dua operasi lagi). RAID6 memiliki dua blok paritas dan karenanya memerlukan tiga kali baca dan tiga tulisan. RAID5 & RAID6 array karena itu mampu IOPS lebih sedikit daripada RAID1.
- RAID1 & RAID10 hanya membutuhkan 2 penulisan, satu untuk setiap disk di mirror.
Dan untuk menjadi jelas, ini semua memberikan perkiraan kinerja teoretis. Berbagai pengontrol dan metode RAID memiliki trik untuk mempercepatnya.
Setara dengan ZFS dari RAID5 & RAID6 adalah RAIDZ dan RAIDZ2. Saat menghitung IOPS untuk array RAIDZ, dapatkah saya menggunakan rumus yang sama yang saya gunakan untuk RAID5 & RAID6, atau apakah ZFS memiliki trik khusus untuk mengurangi jumlah operasi yang diperlukan untuk operasi penulisan.
Apakah ada formula yang berbeda untuk digunakan ketika menghitung IOPS untuk array RAIDZ?
sumber
Jawaban:
Ini lebih mudah dijawab ...
Semuanya disaring di sini: rekomendasi ZFS RAID: ruang, kinerja, dan MTTDL dan Pandangan Lebih Dekat pada ZFS, Vdevs, dan Kinerja
Jadi, jika Anda perlu skala, Anda skala dengan jumlah RAIDZ vdevs ... Misalnya dengan 16 disk, 4 grup RAIDZ 4-disk akan memiliki potensi IOPS lebih besar daripada 2 grup RAIDZ 8-disk.
Mengejutkan, bukan?
Saya biasanya menggunakan mirror bergaris (RAID 1 + 0) pada instalasi ZFS saya. Konsep yang sama berlaku. Lebih banyak pasangan cermin == kinerja yang lebih baik.
Di ZFS, Anda hanya dapat memperluas dalam unit vdev penuh. Jadi, sementara perluasan set RAID 1 + 0 berarti menambahkan lebih banyak pasangan, melakukan hal yang sama untuk set RAIDZ berarti menambahkan lebih banyak grup RAIDZ dari komposisi yang sama.
sumber