Web

IOPS Nedir? Disk Performansı, NVMe SSD ve fio Ölçümü

Talha Aslan 15 dakikalık okuma 5 görüntülenme

IOPS nedir ve disk performansında neyi ölçer?

IOPS, bir diskin saniyede kaç okuma ve yazma işlemini tamamlayabildiğini gösteren ölçüdür. Açılımı Input/Output Operations Per Second'dır. Değer büyüdükçe disk, küçük ve sık gelen isteklere daha hızlı yanıt verir. Veritabanı ve WordPress gibi çok sayıda küçük okuma yapan iş yüklerinde bu rakam belirleyicidir.

Bu rehberi, hosting ya da VPS seçerken disk kararını anlamak isteyen web sitesi ve e-ticaret sahipleri ile yazılımcılar için hazırladık. Kendi VPS'ini yönetenler komutları sırayla uygulayabilir. Ayrıca her adımın nedenini de anlatıyoruz, çünkü disk sorunlarının çoğu yanlış ölçümden çıkar.

Biz dijital pazarlama ve web ekibiyiz, hosting firması değiliz. Bu nedenle anlatım fio ve MySQL dokümanlarına, arayüz standartlarına ve ürün belgelerine dayanır. Rakam verdiğimiz yerde kaynağı yanına yazdık. Kaynağı olmayan değerleri "tipik aralık, ürüne göre değişir" diye bıraktık.

Örnek IP olarak yalnız dokümantasyon blokları, örnek alan adı olarak da example.com kullanıyoruz. Parola, anahtar ve gerçek alan adlarınızı bir rehberden kopyaladığınız dosyalara yazmayın.

IOPS, throughput ve gecikme arasındaki fark nedir?

Bu üç ölçü aynı diski üç farklı açıdan anlatır. IOPS işlem sayısını, throughput saniyede taşınan veri miktarını (MB/s), gecikme ise tek bir işlemin ne kadar sürede bittiğini gösterir. Yani biri yüksekken diğeri düşük olabilir.

Örneğin bir otoyol benzetmesi işe yarar. Throughput otoyolun genişliğidir, yani aynı anda kaç araç geçer. IOPS bir saatte geçen araç sayısıdır. Gecikme ise tek bir aracın A noktasından B noktasına varış süresidir.

  • IOPS: Saniyedeki işlem sayısı. Küçük ve çok sayıdaki isteklerde önemlidir.
  • Throughput (MB/s): Saniyedeki veri hacmi. Büyük dosya kopyalamada ve yedeklemede önemlidir.
  • Gecikme (latency): Tek işlemin süresi. Kullanıcının hissettiği bekleme süresine en yakın ölçüdür.

Bu yüzden bir disk için yalnız "MB/s" ya da yalnız "IOPS" okumak yanıltır. Örneğin yedek alırken yüksek MB/s görürsünüz. Aynı disk, yüzlerce küçük sorgu geldiğinde yavaş kalabilir.

Gecikme IOPS ile nasıl ilişkilidir?

Gecikme düştükçe, aynı anda tek bir işlem bekleyen sistem saniyede daha çok işlem tamamlar. Temel ilişki şudur: saniyedeki işlem sayısı, eşzamanlı bekleyen işlem sayısının ortalama gecikmeye bölümüne yaklaşır. Buna kuyruk teorisinde Little yasası denir.

Bir örnek hesap yapalım. Ortalama gecikme 0,1 milisaniye ve aynı anda tek işlem varsa, saniyede en çok 10.000 işlem yapılabilir. Gecikme 1 milisaniyeye çıkarsa tavan 1.000'e düşer. Bu rakamlar yalnız mantığı göstermek içindir, gerçek bir ürünün değeri değildir.

Sonuç olarak IOPS rakamı gecikmeden bağımsız bir "güç" değildir. Disk üreticisinin verdiği yüksek IOPS değeri, çoğu zaman çok sayıda eşzamanlı işlemle ölçülür. Sitenizde ise sorgular çoğu zaman az sayıda ve tek tek gelir. Bu durumda düşük gecikme, yüksek IOPS rakamından daha çok işinize yarar.

Gecikme kavramını ağ tarafında da anlattık. İsterseniz ping, gecikme ve RTT yazımıza göz atabilirsiniz. Orada konu sunucunun uzaklığıdır, burada ise diskin yanıt süresidir.

Rastgele ve sıralı okuma yazma arasındaki fark nedir?

Sıralı işlemde disk verileri arka arkaya, tek parça halinde okur ya da yazar. Rastgele işlemde ise dosyanın farklı noktalarından küçük parçalar ister. Rastgele erişim, disk türleri arasındaki farkın en çok göründüğü yerdir.

Sıralı erişime örnek olarak büyük bir yedek dosyasını kopyalamayı verebiliriz. Rastgele erişime örnek ise bir veritabanının indeks sayfalarını farklı yerlerden okumasıdır. Web sitesi iş yükü çoğunlukla ikinci gruba girer.

Mekanik diskte okuma kafasının fiziksel olarak yer değiştirmesi gerekir. Bu nedenle rastgele erişimde IOPS çok düşer. MySQL dokümanı, eski nesil disklerin yaklaşık 100 IOPS verebildiğini belirtir. Öte yandan flash tabanlı SSD'lerde mekanik hareket olmadığı için rastgele erişim çok daha hızlıdır.

  • Sıralı okuma: yedek, büyük dosya aktarımı, video akışı.
  • Rastgele okuma: veritabanı sorguları, çok sayıda küçük PHP ve görsel dosyası.
  • Rastgele yazma: oturum dosyaları, günlükler, sipariş kayıtları.

Blok boyutu IOPS ve MB/s değerini nasıl değiştirir?

Throughput, yaklaşık olarak IOPS ile blok boyutunun çarpımıdır. Aynı disk küçük bloklarla yüksek IOPS, büyük bloklarla yüksek MB/s gösterir. Bu nedenle bir test sonucunu okurken blok boyutunu mutlaka bilmeniz gerekir.

Örnek hesap yapalım. Saniyede 10.000 işlem ve 4 KB blok boyutu, yaklaşık 40 MB/s eder. Aynı disk 1 MB bloklarla saniyede 500 işlem yaparsa yaklaşık 500 MB/s ölçülür. İki testte de disk aynıdır, yalnız iş yükü değişmiştir.

fio aracının varsayılan blok boyutu 4 KB'dir; bu değer resmi dokümanda yazar. Birçok rastgele erişim testi de 4 KB ile yapılır, çünkü küçük okuma ve yazma işlemlerini temsil eder. Pazarlama sayfalarındaki "MB/s" değeri ise çoğunlukla büyük bloklu sıralı testten gelir.

Üstelik iki farklı sağlayıcının rakamlarını kıyaslarken blok boyutu, kuyruk derinliği ve okuma/yazma oranı aynı olmalıdır. Aksi halde karşılaştırma anlamsız olur.

Kuyruk derinliği (queue depth) nedir ve neden önemlidir?

Kuyruk derinliği, diske aynı anda gönderilen bekleyen işlem sayısıdır. Derinlik arttıkça SSD, işlemleri paralel yürütebilir ve IOPS yükselir. Mekanik diskte bu kazanç sınırlıdır, çünkü tek bir kafa vardır.

Ancak kuyruk derinliği 1 olan bir test, yalnız tek istekli senaryoyu ölçer. Bu bazen gerçeğe yakındır, örneğin tek kullanıcılı bir yönetim paneli için. Ancak yoğun bir e-ticaret sitesinde onlarca sorgu aynı anda disk bekler. O durumda daha yüksek bir derinlik daha gerçekçidir.

Burada dikkat edeceğiniz nokta şudur: derinliği artırdıkça IOPS yükselir, ama gecikme de artar. Kullanıcıya yansıyan şey ortalama gecikmedir. Bu nedenle iyi bir test, hem IOPS hem de gecikme yüzdeliklerini birlikte verir.

Ayrıca arayüz tipi de kuyruğu belirler. SATA'daki AHCI protokolü tek komut kuyruğu ve en çok 32 komut destekler. NVMe ise 64.000 kuyruk ve her kuyrukta 64.000 komut destekler (kaynak: phoenixnap NVMe ve SATA karşılaştırması).

HDD, SATA SSD ve NVMe SSD arasındaki fark nedir?

HDD mekanik plakalar ve okuma kafasıyla çalışır, SATA SSD flash hücreleri SATA arayüzüyle kullanır, NVMe SSD ise aynı flash yapıyı PCIe üzerinden doğrudan işlemciye bağlar. Fark yalnız hızda değil, gecikme ve paralellikte de ortaya çıkar. Aşağıdaki tablo özetler.

ÖzellikHDDSATA SSDNVMe SSD
Çalışma biçimiMekanik plaka ve kafaFlash hücre, SATA arayüzüFlash hücre, PCIe arayüzü
Rastgele IOPSYaklaşık 100 ölçeğinde (MySQL dokümanı, eski nesil disk)HDD'den çok yüksek; ürüne göre değişirSATA SSD'den de yüksek; ürüne göre değişir
Sıralı hızTipik aralık, ürüne göre değişirKuramsal en çok 600 MB/s, pratikte yaklaşık 550 MB/s (phoenixnap)SATA sınırını aşar; PCIe nesline ve şerit sayısına bağlı
GecikmeMekanik hareket yüzünden yüksekHDD'den belirgin düşük100 mikrosaniyenin altı (phoenixnap)
Komut kuyruğuGenelde SATA ya da SAS arayüzüTek kuyruk, 32 komut (AHCI)64.000 kuyruk, her birinde 64.000 komut

Tablodaki "ürüne göre değişir" ifadesi bilinçlidir. Aynı sınıftaki iki disk arasında bile büyük fark çıkabilir. Karar vermeden önce üreticinin veri sayfasına ve bağımsız test sonuçlarına bakın. Kaynak: phoenixNAP NVMe ve SATA karşılaştırması.

NVMe neden SATA SSD'den farklı çalışır?

NVMe, flash belleğin hızına göre sıfırdan tasarlanmış bir protokoldür. SATA ve AHCI ise dönen disklerin döneminden kalmadır. NVMe, PCIe şeritleri üzerinden doğrudan işlemciyle konuşur ve çok sayıda kuyruğu paralel kullanır.

PhoenixNAP kaynağına göre NVMe, anakarta doğrudan bağlı dört PCI Express şeridi üzerinden veri aktarabilir. Aynı kaynak, gecikmenin SATA üzerinden bağlanan SSD'lere kıyasla daha düşük olduğunu belirtir. Kuramsal bant genişliği de SATA'nın 600 MB/s sınırının üzerine çıkar.

Burada bir ayrım yapmanız gerekir. "SSD" bir bellek türüdür, "NVMe" ise o belleğe bağlanma yöntemidir. Yani her NVMe bir SSD'dir, ama her SSD NVMe değildir. Bir hosting paketinde yalnız "SSD" yazıyorsa, bunun SATA olma ihtimali vardır.

M.2 biçimindeki bir kart da NVMe olmak zorunda değildir. Bazı M.2 kartlar SATA ile çalışır. Bu nedenle ürün sayfasında "NVMe" ifadesini ayrıca arayın.

NVMe SSD her sitede fark yaratır mı?

Hayır. NVMe, yalnız disk sizin sitenizin darboğazıysa fark yaratır. Çoğu içerik sitesinde yavaşlığın nedeni diskten çok PHP işleme süresi, ağır eklentiler, büyük görseller ve önbelleğin olmamasıdır. Bu durumda diski değiştirmek sonucu çok değiştirmez.

Çünkü bir sayfa yüklenirken zincir uzundur: ağ, web sunucusu, PHP, veritabanı ve disk. Zincirin en yavaş halkası toplam süreyi belirler. Yani disk bu zincirin yalnız bir parçasıdır.

Önbellek açıksa sayfa çoğu zaman bellekten ya da hazır dosyadan gelir. Böylece disk isteği azalır. Örneğin tam sayfa önbelleği olan bir WordPress sitesinde ziyaretçilerin çoğu veritabanına hiç uğramaz. Disk farkını en çok önbelleğe girmeyen istekler hisseder.

  • Ziyaretçi sayısı düşük ve sayfalar statikse: disk türü ikinci planda kalır.
  • Yönetim paneli, arama ve filtre gibi önbelleğe girmeyen istekler çoksa: disk önem kazanır.
  • Ağır veritabanı yazması varsa: disk ilk bakacağınız yerdir.

Site hızının aramadaki etkisini site hızı SEO'yu nasıl etkiler yazımızda anlattık.

Veritabanı iş yükü IOPS'tan nasıl etkilenir?

Çünkü veritabanı, verileri küçük sayfalara bölerek diske yazar ve okur. Bu yüzden iş yükü doğası gereği rastgele ve küçüktür. Bellekte bulunmayan her sayfa bir disk okuması demektir, her işlem kaydı da bir yazma gerektirir. Dolayısıyla veritabanı, IOPS'a en duyarlı iş yüklerinden biridir.

MySQL'in InnoDB motoru bunu bir ayar olarak da ortaya koyar. Resmi dokümana göre innodb_io_capacity değişkeni, sistemin saniyede yapabileceği G/Ç işlemi sayısına yakın bir değere ayarlanmalıdır. Varsayılan değer 200'dür. Doküman, 7200 devire kadar sabit disklerde 100 civarını, daha alt düzey SSD'lerde varsayılan 200'ü, üst düzey SSD'lerde ise 1000 gibi bir değeri örnek gösterir.

Bu ayarı değiştirmek her zaman iyi fikir değildir. Yanlış yüksek bir değer, diskin kaldıramayacağı bir temizleme baskısı yaratabilir. Ayrıca bu değer hosting sağlayıcınızın yönettiği bir sunucuda çoğu zaman sizin elinizde değildir.

Daha etkili adımlar genellikle şunlardır: eksik indeksi eklemek, yavaş sorguları bulmak ve belleği veritabanı tamponuna yetecek kadar vermek. Kaynak: MySQL InnoDB G/Ç kapasitesi dokümanı.

WordPress sitesinde disk performansı nerede hissedilir?

WordPress, her istekte onlarca PHP dosyası ve veritabanı sorgusu çalıştırabilir. Önbellek yoksa her ziyaret bu zinciri baştan kurar. Bu nedenle disk, özellikle yönetim panelinde, WooCommerce sepetinde ve arama sonuçlarında hissedilir.

Özellikle yönetim paneli önbelleğe girmez. Eklenti ve tema güncellemeleri çok sayıda küçük dosya yazar. Bu yüzden yavaş diskte güncelleme uzun sürer. Yedekleme eklentileri de aynı anda disk okuyup sıkıştırdığı için sitenin geri kalanını yavaşlatabilir.

E-ticarette durum daha kritiktir. Stok güncellemesi, sipariş kaydı ve oturum işlemleri sürekli yazma üretir. Sayfa hızının satışa etkisini e-ticarette sayfa hızı satışları etkiler mi yazımızda ele aldık.

PHP tarafında da bir kazanç vardır. OPcache, derlenmiş PHP kodunu bellekte tutar ve dosya okumasını azaltır. Ayrıntıyı OPcache nedir yazımızda bulabilirsiniz.

Hostingde disk türü sorusu: Planda neye bakmalısınız?

Önce planın "SSD" mi yoksa "NVMe" mi dediğine bakın. Sonra diskin sizinle paylaşılıp paylaşılmadığını ve hesabınıza G/Ç sınırı konup konmadığını öğrenin. Paylaşımlı sunucuda komşu hesaplar aynı diski kullanır. Bu nedenle tek başına disk türü yetmez.

Örneğin bazı paylaşımlı planlarda hesap başına disk G/Ç ve IOPS sınırı bulunur. Bu sınır aşılınca site, disk hızı yüksek olsa bile yavaşlar. Sınır, plan sayfasında ya da kullanım şartlarında yazar. Yazmıyorsa sağlayıcıya sormanız yerinde olur.

Hosting türüDisk paylaşımıDikkat edeceğiniz nokta
Paylaşımlı hostingÇok hesap aynı diski kullanırHesap başına G/Ç ve IOPS sınırı
VPSSanal disk, sağlayıcının depolamasındaDisk türü ve sağlayıcının depolama sınırları
Özel sunucuDiskler yalnız size aitDisk türü, adedi ve yedeklilik

Genel hosting seçim ölçütlerini web sitesi için hosting nasıl seçilir yazımızda topladık. Disk sorusu o listenin yalnız bir maddesidir.

Hosting sağlayıcınıza hangi disk sorularını sormalısınız?

Bu nedenle sağlayıcıya sorulacak sorular kısa ve ölçülebilir olmalıdır. "Hızlı mı?" yerine disk türünü, paylaşım düzenini ve sınırları sorun. Aldığınız yanıtı yazılı tutun, çünkü ileride bir sorun çıkarsa referansınız olur.

  1. Disk türü nedir: HDD, SATA SSD ya da NVMe?
  2. Hesabıma ya da sanal makineme uygulanan bir IOPS veya G/Ç sınırı var mı?
  3. Depolama yedekli mi ve yedeklilik performansı nasıl etkiliyor?
  4. Yoğun saatlerde diskin paylaşıldığı başka müşteriler beni etkiler mi?
  5. Disk performansını kendi araçlarımla test etmeme izin veriliyor mu?
  6. Yedekler aynı diskte mi, ayrı bir depolamada mı tutuluyor?

Beşinci soru önemlidir. Bazı sağlayıcılar yoğun test yükünü kullanım şartlarına aykırı sayar. Önce izin alın, sonra ölçün. Yedek konusunda ise web sitesi yedekleme stratejisi yazımıza göz atın.

VPS ve bulut disklerinde IOPS sınırı nasıl işler?

Sanal sunucularda disk, çoğu zaman sağlayıcının ortak depolama altyapısından size bölünür. Bu nedenle bazı sağlayıcılar IOPS ve throughput değerini plana bağlar. Yani aynı boyutta iki disk, farklı planlarda farklı hız verebilir. Sınırlar planın belgesinde yazar.

Sınıra ulaşan bir disk, çökmez ama yavaşlar. İşlemler kuyrukta bekler ve gecikme artar. Siz de bunu yavaş sorgu ve uzayan sayfa süresi olarak görürsünüz. Dolayısıyla "disk büyüklüğü" ile "disk hızı" ayrı sorulardır.

Bu durumda iki yol vardır. Birincisi, sınırı yükselten bir plana geçmektir. İkincisi, diske giden isteği önbellek ve indeksle azaltmaktır. Çoğu zaman ikincisi daha ucuzdur. Ancak sınırı gerçekten aşıyorsanız, yükseltme kaçınılmaz olur.

Sağlayıcının belgesindeki değerleri okurken aynı ölçüm koşullarını arayın. Örneğin blok boyutu yazmıyorsa, rakamı dikkatle yorumlayın.

fio ile disk performansını nasıl ölçersiniz?

fio, Linux'ta disk testi için en yaygın kullanılan araçlardır. Bir iş tanımlarsınız: okuma ya da yazma türü, blok boyutu, kuyruk derinliği ve süre. Araç sonunda IOPS, bant genişliği ve gecikme yüzdeliklerini verir. Aşağıdaki komut, 4 KB rastgele okumayı ölçer.

fio --name=rastgele-okuma --filename=/var/tmp/fio-test.bin --size=1G \
    --rw=randread --bs=4k --ioengine=libaio --iodepth=32 \
    --direct=1 --runtime=30 --time_based --group_reporting

Ayrıca komutun parçalarını açıklayalım. --rw=randread rastgele okumayı seçer. --bs=4k blok boyutunu belirler. --direct=1 işletim sistemi önbelleğini atlar, böylece ölçtüğünüz şey diskin kendisi olur. --time_based ve --runtime=30 testi 30 saniye sürdürür.

Sıralı hızı ve karışık yükü ölçmek için aynı kalıbı değiştirirsiniz.

# Sıralı okuma, büyük blok
fio --name=sirali-okuma --filename=/var/tmp/fio-test.bin --size=1G \
    --rw=read --bs=1M --ioengine=libaio --iodepth=8 \
    --direct=1 --runtime=30 --time_based --group_reporting

# Rastgele karışık yük, yüzde 70 okuma
fio --name=karisik --filename=/var/tmp/fio-test.bin --size=1G \
    --rw=randrw --rwmixread=70 --bs=4k --ioengine=libaio --iodepth=16 \
    --direct=1 --runtime=30 --time_based --group_reporting

# Test dosyasını silin
rm /var/tmp/fio-test.bin

Ayrıca bu komutlar dosya üzerinde çalışır, ham diske yazmaz. Ham aygıta yazan bir fio işi veriyi yok edebilir. Aygıt adını elle yazmadan önce iki kez düşünün. Ayrıntılar için fio resmi dokümanına bakın.

fio çıktısını nasıl okursunuz?

Çıktıda önce IOPS= ve BW= satırına, sonra clat satırına bakın. IOPS işlem sayısını, BW bant genişliğini, clat ise tamamlanma gecikmesini gösterir. Gecikmenin yüzdelik tablosu, yavaş istekleri yakalamanın en iyi yoludur.

Ortalama gecikme sizi yanıltabilir. Yüzde 99 ya da yüzde 99,9 yüzdeliği, en yavaş isteklerin ne kadar yavaş olduğunu gösterir. Kullanıcı bir sayfada dalgalanma hissediyorsa genellikle bu kuyruk uçları sorumludur.

  • IOPS yüksek, gecikme yüksek: kuyruk derinliği fazla olabilir; testi daha düşük derinlikle tekrarlayın.
  • IOPS düşük, gecikme düşük: test tek istekle sınırlı kalmış olabilir.
  • Sonuçlar dakikadan dakikaya dalgalanıyor: disk paylaşımlı olabilir ya da başka bir süreç yük bindiriyor.

Bu nedenle testi farklı saatlerde birkaç kez tekrarlayın. Çünkü tek ölçüm bir tesadüf olabilir. Üstelik canlı sitenin çalıştığı bir diskte yaptığınız test, ziyaretçilerinizi de yavaşlatır. Bu yüzden mümkünse bakım penceresinde ölçün.

iostat ile canlı sunucuda disk darboğazını nasıl anlarsınız?

iostat, sysstat paketinin parçasıdır ve sunucu çalışırken diskin ne kadar meşgul olduğunu gösterir. Yük oluşturmadan izlediği için canlı sistemde fio'dan daha güvenlidir. Genişletilmiş çıktı için iostat -x 1 komutunu kullanırsınız.

iostat -x 1

Çıktıdaki sütun adları sysstat sürümüne göre biraz değişir. Genelde saniyedeki okuma ve yazma sayısını, okuma ve yazma bekleme sürelerini, ortalama kuyruk uzunluğunu ve disk kullanım yüzdesini görürsünüz. Bekleme süreleri yükseliyorsa ve kuyruk uzuyorsa disk darboğazdadır.

Kullanım yüzdesine tek başına güvenmeyin. SSD ve NVMe diskler paralel çalıştığı için yüzde 100 görünse bile kapasitenin bir kısmı boşta olabilir. Bekleme süresi ve kuyruk uzunluğu daha güvenilir göstergelerdir.

Disk sorunu yoksa başka bir yere bakmanız gerekir. İşlemci, bellek ve ağ gibi kaynaklar da aynı ölçüde yavaşlık yaratabilir. Gelen isteklerin kaynağını görmek için log analizi aracımızı da kullanabilirsiniz.

Disk yavaşsa site hızı için önce ne yaparsınız?

Disk yavaş görünse bile ilk adım disk değiştirmek olmamalıdır. Önce diske giden istek sayısını azaltın. Önbellek, indeks ve görsel optimizasyonu, genellikle diski büyütmekten daha ucuz ve daha hızlı sonuç verir.

  • Sayfa önbelleği: Sayfayı hazır tutar, PHP ve veritabanı çalışmaz.
  • Nesne önbelleği: Sık sorguların sonucunu bellekte saklar. Bunun için Redis ve Memcached yazımıza bakın.
  • HTTP önbelleği: Önüne bir önbellek katmanı koyar; Varnish Cache bu işi yapar.
  • Veritabanı indeksi: Gereksiz tam tablo taramalarını önler.
  • Görsel boyutu: Daha az bayt, daha az okuma demektir.

Ardından ölçün. Önce ve sonra değerlerini karşılaştırmadan hangi adımın işe yaradığını bilemezsiniz. Sayfa tarafı için Google Lighthouse ile site performans testi iyi bir başlangıçtır.

Bu adımlardan sonra hâlâ disk gecikmesi görüyorsanız, daha hızlı bir plana geçmek mantıklı olur.

RAID, IOPS değerini nasıl etkiler?

RAID, birden çok diski tek birim gibi kullanır ve seviyesine göre hem IOPS'u hem de dayanıklılığı değiştirir. Konu ayrı bir başlık olduğu için burada yalnız kısa bir not veriyoruz. RAID'i ayrı bir yazıda ayrıntılı ele alıyoruz.

Kısacası genel bakış şöyledir: bazı seviyeler okuma IOPS'unu artırır, bazıları ise yazmada ek yük getirir. Bu yüzden "RAID var, o halde hızlı" diye bir sonuç çıkmaz. Hosting planında RAID yazıyorsa, bunun hız mı yoksa dayanıklılık için mi olduğunu sorun.

Üstelik RAID yedek değildir. Bir dosyayı yanlışlıkla silerseniz ya da bir fidye yazılımı dosyaları şifrelerse, RAID sizi korumaz. Yedek stratejisi her durumda ayrıca gerekir.

Disk işini ne zaman kendiniz yapmamalı, sağlayıcınıza bırakmalısınız?

Paylaşımlı hostingde, yönetilen VPS'te ve yönetilen bulut planlarında disk ayarı sağlayıcının işidir. Bu planlarda kendi başınıza disk testi çalıştırmak ya da çekirdek ayarına girişmek hem yetkinizi aşar hem risk taşır. Destek talebi açıp ölçüm sonucunuzu paylaşmak daha doğrudur.

Kendi VPS'inizi yönetiyorsanız fio ve iostat ile ölçüm yapabilirsiniz. Ancak şu durumlarda uzmana ya da sağlayıcıya bırakmak daha güvenlidir:

  • Üzerinde canlı veri bulunan ham bir diske ya da bölüme yazmanız gerekecekse.
  • Dosya sistemi, RAID ya da disk yapısını değiştirecekseniz.
  • Yedeğiniz yoksa ya da yedeğin geri dönüş testini hiç yapmadıysanız.
  • Canlı bir e-ticaret sitesinde yoğun saatte yük testi yapacaksanız.

Biz hosting işletmiyoruz; web sitesi ve pazarlama tarafında destek veriyoruz. Teknik kararlarınızda sağlayıcınızın resmi yönergesi önceliklidir. Sitenizi baştan kurmayı düşünüyorsanız web tasarım hizmetimize bakabilirsiniz.

Hangi iş yükü için hangi disk türü uygundur?

Örneğin küçük bir tanıtım sitesi için HDD dışında hemen her SSD yeterli olur. Veritabanı ağırlıklı bir mağaza için NVMe mantıklı bir hedeftir. Aşağıdaki tablo, iş yüküne göre bir başlangıç yönü verir; bu, saha tecrübesine dayalı bir başlangıç yönüdür, garanti değildir.

İş yüküÖncelikli ölçüDisk için başlangıç yönü
Kurumsal tanıtım sitesi, önbellekliDüşük gecikmeSSD yeterli olur
Blog ve haber sitesiRastgele okumaSSD, yoğun trafikte NVMe
WooCommerce ve e-ticaretRastgele yazma ve gecikmeNVMe ve ayrı yedek depolama
Veritabanı ağırlıklı uygulamaIOPS ve gecikme yüzdelikleriNVMe, önce ölçüm
Medya ve dosya arşiviKapasite ve sıralı hızBüyük kapasiteli SSD ya da HDD

Kararı rakamdan çok kendi iş yükünüz üzerinde ölçtüğünüz sonuca göre verin. Sitenizin hangi altyapıyı kullandığını görmek için site altyapı tespiti aracımız ilk bakış için işe yarar.

IOPS konusunda en sık yapılan hatalar nelerdir?

Özellikle en sık hata, tek bir rakama bakıp karar vermektir. Başka bir hata, blok boyutu ve kuyruk derinliği farklı iki testi kıyaslamaktır. Üçüncüsü ise darboğaz başka yerdeyken diski suçlamaktır.

  • Pazarlama sayfasındaki en yüksek IOPS değerini, sitenizin göreceği değer sanmak.
  • Yalnız MB/s okuyup rastgele erişimi hiç ölçmemek.
  • Önbellek açıkken test yapıp diskin kendisini ölçtüğünü sanmak.
  • Canlı sitenin çalıştığı diskte yoğun yük testi yapmak.
  • Disk yavaşken önbellek ve indeks adımlarını atlayıp doğrudan yükseltmeye gitmek.

Ayrıca tek seferlik bir ölçüme güvenmeyin. Disk performansı saatlere ve komşu yüke göre değişebilir. Bir hosting değişikliğine karar vermeden önce en az birkaç ölçüm alın. Böylece yanlış bir yükseltmenin masrafından da kaçınırsınız.

Disk dışındaki sorunlar için teknik SEO ve hız tarafında SEO danışmanlığı hizmetimiz de devreye girebilir.

Sıkça Sorulan Sorular

IOPS neyin kısaltmasıdır?
IOPS, Input/Output Operations Per Second ifadesinin kısaltmasıdır. Türkçesi saniyedeki giriş çıkış işlemi sayısıdır. Bir diskin ya da depolama sisteminin saniyede kaç okuma ve yazma işlemini tamamlayabildiğini gösterir. Rakamın anlamlı olması için blok boyutu, kuyruk derinliği ve okuma yazma oranının da bilinmesi gerekir, çünkü bu üç değer sonucu belirgin biçimde değiştirir.
IOPS ile MB/s aynı şey midir?
Hayır, aynı şey değildir. IOPS saniyedeki işlem sayısını, MB/s ise saniyede taşınan veri miktarını gösterir. İkisi blok boyutuyla bağlantılıdır: yaklaşık olarak IOPS ile blok boyutunun çarpımı throughput'u verir. Bu yüzden küçük bloklu rastgele testte IOPS yüksek, büyük bloklu sıralı testte MB/s yüksek görünür. Hangisinin önemli olduğu iş yükünüze bağlıdır.
NVMe SSD, SATA SSD'den ne kadar hızlıdır?
Fark ürüne ve iş yüküne göre değişir, bu yüzden tek bir kat sayısı vermiyoruz. Kaynaklara göre SATA'nın kuramsal sınırı 600 MB/s, pratikteki değeri ise yaklaşık 550 MB/s'dir. NVMe bu sınırı PCIe üzerinden aşar ve gecikmesi daha düşüktür. Yine de önbellekli bir sitede bu fark hissedilmeyebilir.
WordPress için NVMe şart mıdır?
Hayır, şart değildir. Önbelleği doğru kurulmuş küçük ve orta ölçekli bir WordPress sitesi, iyi bir SSD üzerinde de rahat çalışır. NVMe, özellikle WooCommerce gibi yazma yükü yüksek siteler, yoğun yönetim paneli kullanımı ve veritabanı ağırlıklı işler için daha anlamlıdır. Karar vermeden önce kendi sitenizde ölçüm yapmanız en doğrusu olur.
fio testi canlı sitede güvenli midir?
Dikkatli olmak gerekir. fio disk üzerinde gerçek yük oluşturur ve ziyaretçilerinizi yavaşlatabilir. Üstelik bazı sağlayıcılar yoğun testi kullanım şartlarına aykırı sayar. Bu yüzden önce izin alın, mümkünse bakım penceresinde çalıştırın. Ham aygıta yazmayın, dosya tabanlı test kullanın ve işiniz bitince test dosyasını silin.
RAID kurmak IOPS değerini artırır mı?
Her zaman değil. Bazı RAID seviyeleri okuma IOPS'unu artırır, bazıları ise yazmada ek maliyet getirir. RAID'in asıl amacı çoğunlukla dayanıklılıktır. Ayrıca RAID bir yedek değildir; yanlışlıkla silinen ya da şifrelenen dosyaları geri getirmez. Bu yüzden hostingde RAID yazması tek başına hız garantisi anlamına gelmez.
  • IOPS
  • NVMe SSD
  • disk performansı
  • fio
  • hosting
  • SSD
  • veritabanı
Paylaş:
Talha Aslan

Google Partner dijital pazarlama uzmanı. 2012’den beri SEO, Google Ads, web tasarım ve e-ticaret projelerinde sahada; bu blogda gördüğünüz her yazı o deneyimden çıkar.

Sıradaki proje

Projenizi konuşalım.

Talebiniz doğrudan Talha Aslan ve ekibine ulaşır: stratejiyi Talha kurar, uygulamayı deneyimli ekip yürütür. İlk istişare ücretsizdir; hedefinizi dinler, net bir yol haritasıyla döneriz.