IOPS (Input/Output Operations Per Second), bir depolama sisteminin saniyede kaç okuma veya yazma işlemi gerçekleştirebildiğini ifade eden bir performans birimidir. Depolama sizing yaparken en sık kullanılan ama en sık yanlış anlaşılan metriklerden biridir.
IOPS vs Throughput
Bu ikisi sık karıştırılır ama farklı şeyleri ölçer:
| Metrik | Ne Ölçer | Önemli Olduğu Senaryo |
|---|
| IOPS | Saniyedeki işlem sayısı | Veritabanı, çok sayıda küçük I/O (rastgele erişim) |
| Throughput (MB/s) | Saniyede aktarılan veri hacmi | Video/dosya transferi, büyük ardışık okuma-yazma |
Küçük, rastgele I/O paternine sahip bir veritabanı sunucusu yüksek IOPS ister ama düşük throughput yeterli olabilir. Büyük dosya transferi yapan bir sistem ise yüksek throughput ister ama IOPS o kadar kritik olmayabilir.
Rastgele vs Ardışık IOPS
Depolama üreticileri genelde "maksimum IOPS" rakamı verir ama bu rakam genelde ardışık (sequential), küçük blok boyutlu, ideal koşullarda ölçülür. Gerçek üretim ortamındaki rastgele (random) IOPS, bu rakamdan önemli ölçüde düşük olabilir. Teklif değerlendirirken "hangi blok boyutu ve hangi okuma/yazma oranıyla ölçüldü" sorusunu sormak gerekir.
Disk Tipine Göre Yaklaşık IOPS
| Disk Tipi | Yaklaşık IOPS (tek disk) |
|---|
| HDD (7.2K RPM) | 75-100 |
| HDD (15K RPM) | 175-210 |
| SATA SSD | 5,000-100,000 |
| NVMe SSD | 100,000+ |
Neden Önemli?
Yanlış IOPS sizing, en sık karşılaşılan performans sorunlarından biridir: veritabanı yavaşlaması, VM'lerde donma, backup pencerelerinin uzaması gibi belirtiler genelde IOPS yetersizliğine işaret eder. Kapasite (TB) yeterli olsa bile, IOPS yetersizse sistem performans sorunları yaşar.
Özet
IOPS, depolama performansını ölçen temel birimdir ama throughput ile karıştırılmamalıdır. Doğru sizing için hem IOPS hem throughput ihtiyacınızı, gerçek iş yükü paterninize (rastgele vs ardışık) göre belirlemek gerekir.