Saya mencoba memperkirakan persyaratan IOPS aplikasi saya yang berjalan pada CentOS 6.2 bit. Saya mulai melakukan beberapa pengukuran pada mesin dengan disk SATA dan saya cukup bingung perbedaan antara IOPS dan tps yang diukur oleh sar.
Menurut wikipedia disk SATA harus melakukan 75-100 IOPS. utilitas ioping tampaknya mengkonfirmasi ini untuk uji akses acak:
# ./ioping -R /dev/sda
--- /dev/sda (device 931.0 Gb) ioping statistics ---
279 requests completed in 3.0 s, 92 iops, 371.3 kb/s
min/avg/max/mdev = 2.7 ms / 10.8 ms / 130.8 ms / 7.9 ms
Tetapi nilai tps yang dihasilkan oleh sar jauh lebih tinggi (/ dev / sda):
# iostat 1
avg-cpu: %user %nice %system %iowait %steal %idle
0.17 0.00 2.02 14.86 0.00 82.96
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 559.00 0.00 142600.00 0 142600
dm-0 18433.00 0.00 147464.00 0 147464
dm-1 0.00 0.00 0.00 0 0
dm-2 0.00 0.00 0.00 0 0
Tidak masalah jika beban ini berurutan (dd dengan berbagai ukuran blok) atau akses acak (ioping), nilainya masih sama. Saya pikir tps sebenarnya adalah IOPS dan saya harapkan turun dengan potongan yang lebih besar ditransfer.
Jadi apa sebenarnya nilai tps artinya? Dan bagaimana hubungannya dengan IOPS?
linux
performance
hard-drive
iops
sar
pistol
sumber
sumber
Jawaban:
Transaksi adalah perintah-IO tunggal (ambil blok / blok tulis) yang ditulis ke disk-RAW (dalam contoh Anda dm-0). Linux-kernel mencoba untuk memesan perintah-perintah itu ke dalam urutan yang lebih baik atau mencoba untuk mengompresnya menjadi perintah-perintah yang lebih efisien (seperti: dapatkan dua blok sekaligus alih-alih mendapatkan satu blok dan mendapatkan blok lain tepat setelah yang ini). Ini adalah transaksi yang keluar ke disk-controller (tps for sda).
Pengendali yang baik migth memiliki logika sendiri yang mengurangi jumlah transaksi nyata lebih jauh.
Suatu transaksi mungkin perintah SCSI "tulis 2 GB ke crontoller 1 target 2 lun 3 mulai dari sektor 22). Seperti yang Anda lihat, ini tidak dapat dihubungkan langsung dengan angka-angka throughput.
Apa yang Anda kejar adalah tingkat penulisan berkelanjutan. Anda memiliki beberapa faktor pembatas di sini:
Dugaan saya untuk sistem Anda adalah: Dapatkan pengontrol serangan perangkat keras yang baik yang mampu melakukan serangan 10 atau 5 dan dapatkan setidaknya 6 disk cepat (15k).
Untuk penggunaan profesional gunakan SAS, bukan SATA.
sumber
Perlu diketahui juga bahwa
TPS
nilai mewakili baca dan tulis, Anda dapat menggunakan-x
sakelar untuk tampilan luas di mana baca dan tulis dipisahkan (r / s = baca IOPS, w / s = tulis IOPS):sumber