Throughput
Throughput berguna ketika Anda melakukan hal-hal seperti menyalin file. Ketika Anda melakukan hampir semua hal lain, itu acak membaca dan menulis di disk yang akan membatasi Anda.
IOPS
IOPS biasanya menentukan ukuran setiap paket data. Misalnya, AWS gp2 dapat melakukan 10.000 IOPS dengan ukuran muatan 16 KiB . Itu mengalikan 160MiB / detik. Namun, kemungkinan besar Anda tidak akan menggunakan ukuran muatan penuh sepanjang waktu, sehingga hasil aktual mungkin akan lebih rendah. NB KiB adalah 1024 byte, KB adalah 1000 byte.
Karena IOPS menentukan ukuran paket yang memberikan total throughput juga. Sedangkan throughput yang tinggi tidak berarti Anda memiliki IOPS yang tinggi.
Skenario
Pertimbangkan skenario ini:
- Booting PC Anda. Pertimbangkan perbedaan antara SSD dan disk yang berputar di komputer Anda, yang merupakan sesuatu yang dialami banyak orang. Dengan disk yang berputar, waktu booting bisa satu menit, sedangkan dengan SSD ini bisa turun menjadi 10 - 15 detik. Ini karena IOPS yang lebih tinggi mengarah ke latensi yang lebih rendah ketika informasi diminta. Throughput disk pemintalan cukup bagus, 150MB / detik, meskipun SSD kemungkinan lebih tinggi, ini bukan alasan mengapa lebih cepat - ini adalah latensi yang lebih rendah untuk mengembalikan informasi.
- Menjalankan pembaruan OS. Ini terjadi di seluruh disk, menambah dan menambal file. Jika Anda memiliki IOPS rendah itu akan lambat, terlepas dari throughput.
- Menjalankan database, misalnya memilih sejumlah kecil data dari database besar. Ini akan membaca dari indeks, membaca dari sejumlah file, kemudian mengembalikan hasilnya. Sekali lagi itu akan ke seluruh disk untuk mengumpulkan informasi.
- Memainkan game di PC Anda. Kemungkinan memuat banyak tekstur dari seluruh disk. Dalam hal ini IOPS dan throughput mungkin diperlukan.
Tape KPP
Pertimbangkan sejenak sistem cadangan kaset. LTO6 dapat melakukan 400MB / detik, tapi (saya kira di sini) mungkin bahkan tidak bisa melakukan satu TIO acak, bisa serendah detik per TIO. Di sisi lain itu mungkin dapat melakukan banyak IOPS berurutan, jika IOPS didefinisikan sebagai membaca atau menulis paket data untuk direkam.
Jika Anda mencoba untuk mem-boot OS dari tape itu akan memakan waktu lama, jika berhasil sama sekali. Inilah sebabnya mengapa IOPS seringkali lebih bermanfaat daripada throughput.
Untuk memahami perangkat penyimpanan Anda mungkin ingin tahu apakah itu IOPS acak atau berurutan, dan ukuran IO. Dari sana Anda dapat memperoleh throughput.
AWS
Perhatikan bahwa AWS menerbitkan angka IOPS dan throughput untuk semua jenis penyimpanannya, di halaman ini . SSD tujuan umum (gp2) dapat melakukan 10.000 16KiB IOPS, yang memberikan maksimum 160MB / detik. IOPS yang disediakan (io1) adalah 20.000 16KiB IOPS, yang memberikan maksimum 320MB / detik.
Perhatikan bahwa dengan volume gp2 Anda mendapatkan 30IOPS per GB yang disediakan, jadi untuk mendapatkan 10.000 IOPS Anda membutuhkan volume 333,33 GB. Saya tidak ingat apakah io1 volume memiliki batasan yang sama (sudah lama sejak saya melakukan ujian asosiasi di mana hal semacam itu diuji), tapi saya curiga mereka melakukannya, dan jika demikian mungkin 60IOPS per GB.
Kesimpulan
Throughput berurutan tinggi berguna, dan dalam beberapa kasus merupakan faktor pembatas kinerja, tetapi IOPS tinggi cenderung lebih penting dalam kebanyakan kasus. Anda tentu saja masih membutuhkan throughput yang masuk akal terlepas dari IOPS.