İçeriğe geç
Yeni yazı çıkınca e-posta · 4.812 abone 190 rehber · 78 ipucu · 58 komut RSS GitHub LinkedIn İletişim
Ara Ctrl K Bültene katıl
Tüm arşiv · 190 rehber →
Tüm araçlar · 75 üreteç →
Depolama

IOPS nedir? Verim, gecikme ve IOPS'un birbirine karışması

Üç ölçüt neyi anlatır, blok boyutu sonucu nasıl değiştirir, kuyruk derinliği ne işe yarar ve tepe değer neden yanıltır.

Mustafa Çelik 25 Ağustos 2026 · 5 dk okuma

Bir depolama ürününün kutusunda “500.000 IOPS” yazıyor olabilir. Aynı ürün sizin iş yükünüzde bunun onda birini verebilir ve ikisi de doğrudur. Aradaki farkı anlamak için üç ölçütün ne ölçtüğünü ayırmak gerekir.

Üç ayrı ölçüt

IOPS, saniyedeki giriş–çıkış işlemi sayısıdır. Kaç istek karşılandığını söyler, ne kadar veri taşındığını değil.

Verim (throughput), birim zamanda taşınan veri miktarıdır; MB/s ile ölçülür.

Gecikme (latency), tek bir isteğin tamamlanma süresidir; milisaniye ile ölçülür.

Üçü birbirine bağlıdır ama biri iyileşirken diğeri kötüleşebilir. Kullanıcının “yavaş” dediği şey neredeyse her zaman gecikmedir — IOPS ya da verim değil.

Blok boyutu her şeyi değiştirir

IOPS tek başına anlamsız bir sayıdır; hangi blok boyutunda ölçüldüğü söylenmeden karşılaştırılamaz.

Basit ilişki şudur: verim = IOPS × blok boyutu.

Aynı disk, 4 KB’lık isteklerle yüksek IOPS ve düşük verim üretir; 1 MB’lık isteklerle düşük IOPS ve yüksek verim üretir. İkisi de aynı donanımdır.

Ürün kataloglarındaki büyük IOPS rakamları neredeyse her zaman 4 KB rastgele okumada ölçülür — yani en yüksek sayıyı veren senaryoda. Veritabanınız 8 KB blok kullanıyorsa o rakam sizin için geçerli değildir.

Rastgele ve sıralı erişim

Sıralı erişim verinin diskte yan yana duran bölümlerini okur: yedek alma, büyük dosya kopyalama, video akışı. Burada belirleyici olan veriмdir.

Rastgele erişim dağınık noktalara gider: veritabanı indeksleri, sanal makine diskleri, çok sayıda küçük dosya. Burada belirleyici olan IOPS’tur.

Dönen disklerde fark uçurumdur, çünkü kafanın hareket etmesi gerekir. Katı hâl disklerde fark küçülür ama kaybolmaz. İkisi arasındaki mekanik ayrım SSD ve HDD farkı yazısında.

Kuyruk derinliği

Kuyruk derinliği, aynı anda bekleyen istek sayısıdır. Katı hâl diskler paralel çalışabildiği için kuyruk derindikçe daha çok IOPS üretirler.

Buradaki takas nettir: kuyruk derinliği arttıkça IOPS yükselir ama gecikme de yükselir. Her istek sırasını bekler.

Bu yüzden bir ölçüm “yüksek IOPS” gösterirken kullanıcı yavaşlık yaşayabilir. Katalog rakamları genelde çok derin kuyrukta alınır; gerçek uygulama yükü ise çoğu zaman sığ kuyruktadır.

Doğru soru “kaç IOPS” değil, “kabul edilebilir gecikmede kaç IOPS”tur.

Okuma ve yazma ayrı ölçülür

Çoğu depolamada yazma, okumadan pahalıdır. RAID kullanıyorsanız araya bir çarpan daha girer: RAID 5’te tek bir mantıksal yazma dört fiziksel işleme, RAID 6’da altıya çıkar.

Yani uygulamanın istediği yazma IOPS’u ile disklerden istenen IOPS aynı sayı değildir. Seviyelerin karşılaştırması RAID seviyeleri yazısında; kendi disk sayınızla hesap için RAID hesaplayıcı aracı var.

Okuma/yazma oranını da bilmeniz gerekir. %70 okuma / %30 yazma karışımı, %100 okumadan belirgin biçimde farklı davranır.

Önbellek yanıltır

Denetleyicideki ve sunucudaki önbellek, kısa ölçümlerde gerçek dışı sonuçlar üretir. Test verisi önbelleğe sığıyorsa disklere hiç inilmez ve rakamlar tavan yapar.

Anlamlı ölçüm için iki kural vardır: test kümesi önbellekten belirgin biçimde büyük olmalı, ve test yeterince uzun sürmeli — bir dakikalık bir koşu, önbellek dolduktan sonraki kararlı hâli göstermez.

Aynı nedenle, katı hâl disklerde uzun süreli yazma testleri başta yüksek sonra düşen bir eğri çizer.

İhtiyacınızı nasıl bulursunuz

Tahmin etmek yerine mevcut sistemi ölçmek her zaman daha isabetlidir. Windows tarafında performans sayaçları, Linux tarafında ilgili izleme araçları saniyedeki okuma ve yazma işlemlerini verir.

Bir hafta boyunca toplayın ve tepe değeri değil 95. yüzdelik değeri kullanın. Tepe değere göre tasarlamak gereksiz maliyet üretir; ortalamaya göre tasarlamak ise yoğun saatte yetersiz kalır.

Bu sayıları depolama tasarımına çevirmek için IOPS hesaplayıcı aracını, kapasite tarafı için disk bölümleme aracını kullanabilirsiniz.

Bulutta ek sınırlar

Bulut disklerinde IOPS genelde boyuta bağlıdır: küçük bir disk düşük IOPS tavanına sahiptir. İhtiyacınız olan performansı almak için gereğinden büyük disk almak yaygın bir durumdur.

İkinci sınır sanal makinenin kendisindedir. Disk yüksek IOPS verse bile makine tipinin toplam depolama bant genişliği tavanı vardır; ikisinden düşük olan geçerlidir.

Üçüncüsü kısa süreli hızlanma (burst) mekanizmasıdır: disk bir süre yüksek performans verir, kredisi tükenince taban değere düşer. Kısa testler geçer, üretim yükü düşer.

Kısaca

IOPS istek sayısını, verim taşınan veriyi, gecikme ise bekleme süresini ölçer. Bir rakam blok boyutu, erişim deseni ve kuyruk derinliği belirtilmeden anlamlı değildir.

Tasarım yaparken sorulacak soru şudur: bu iş yükünün istediği desende, kabul edilebilir gecikmeyle kaç işlem gerekiyor? Katalogdaki tepe değer bu sorunun yanıtı değildir.

Mustafa Çelik

Altyapı ve Operasyon Müdürü, İstanbul. 25 yıldır BT altyapısı, sistem yönetimi ve ağ altyapısıyla uğraşıyor; öğrendiklerini bu blogda üretim ortamında denenmiş rehberlere çeviriyor.

Hakkımda

Bu rehber işinize yaradıysa, sonrakini kaçırmayın.

Yeni yazı yayınlandığında tek e-posta. Takvim yok, dilediğiniz an çıkabilirsiniz.

Bülten sağlayıcısı henüz bağlanmadı. Bağlanana kadar e-posta ile yazabilirsiniz ya da RSS akışını takip edebilirsiniz.