VPS Sunucuda IO Benchmark Fio ile

VPS sunucularında depolama performansı, uygulamanızın hızını ve verimliliğini doğrudan etkileyen kritik bir faktördür.

Reklam Alanı

VPS sunucularında depolama performansı, uygulamanızın hızını ve verimliliğini doğrudan etkileyen kritik bir faktördür. Özellikle yüksek trafikli web siteleri, veritabanı sunucuları veya dosya paylaşım sistemleri için disk I/O hızı, sistemin genel yanıt süresini belirler. Bu makalede, Fio (Flexible I/O Tester) aracını kullanarak VPS sunucunuzda kapsamlı IO benchmark testleri gerçekleştirmenin pratik yollarını ele alacağız. Fio, sequential ve random okuma/yazma işlemleri dahil çeşitli I/O desenlerini simüle ederek, depolama birimlerinizin gerçek performansını ölçmenize olanak tanır. Bu testler sayesinde, SSD/NVMe disklerinizin beklenen throughput’ını doğrulayabilir, darboğazları tespit edebilir ve optimizasyon kararları alabilirsiniz.

Fio Aracının VPS Sunucuya Kurulumu

Fio’yu VPS sunucunuza kurmak, benchmark testlerine başlamanın ilk adımıdır. Bu araç, Linux tabanlı sistemlerde derlenerek çalıştırılır ve minimal sistem kaynakları gerektirir. Kurulum öncesi, sunucunuzun root erişimine sahip olduğunuzdan emin olun. Fio, libaio gibi bağımlılıklarla birlikte yüksek hassasiyetli I/O testleri yapar.

Kurulum sürecini adım adım izleyerek, olası hataları önleyebilirsiniz. Öncelikle paket yöneticisiyle bağımlılıkları yükleyin. Ubuntu/Debian tabanlı VPS’lerde şu komutları kullanın:

  • apt update && apt install -y git build-essential libaio-dev libtool autocONF automake libaio1
  • Git ile kaynak kodunu indirin: git clone https://github.com/axboe/fio.git
  • Dizinine geçin: cd fio
  • Konfigürasyonu hazırlayın: ./configure
  • Derleyin ve yükleyin: make && make install

Bu adımlar tamamlandıktan sonra, fio –version komutuyla kurulumun başarılı olduğunu doğrulayın. CentOS/RHEL sistemlerinde yum/dnf ile libaio-devel gibi paketleri ekleyin. Kurulum süresi genellikle 5-10 dakika sürer ve 50 MB civarı disk alanı kaplar. Bu sayede, Fio hazır hale gelir ve test senaryolarınızı çalıştırmaya başlayabilirsiniz.

Temel ve Gelişmiş Fio Test Senaryoları

Sequential Read/Write Testleri

Sequential testler, büyük dosya akışlarını simüle eder ve disklerin ardışık veri işleme kapasitesini ölçer. VPS’te /tmp gibi tmpfs olmayan bir dizinde test dosyasını belirtin. Örnek komut: fio –name=seqread –size=1G –rw=read –bs=128k –numjobs=1 –iodepth=32 –runtime=60 –time_based –group_reporting –filename=/tmp/testfile

Bu komut, 1 GB’lik bir dosya üzerinde 128 KB blok boyutuyla sequential read yapar. Beklenen çıktı, IOPS (Input/Output Operations Per Second) ve bandwidth (MB/s) değerlerini gösterir. SSD’lerde 500+ MB/s read hızı tipiktir. Testi write için rw=write olarak değiştirin. Her test öncesi dosyayı silin: rm -f /tmp/testfile. Bu testler, veritabanı yedeklemeleri gibi senaryolarda faydalıdır ve 70+ kelimeyle açıklanmış pratik değeri yüksektir.

Random Read/Write Testleri

Random testler, gerçek dünya veritabanı sorgularını taklit eder. Komut örneği: fio –name=randread –size=4G –rw=randread –bs=4k –numjobs=4 –iodepth=32 –runtime=120 –time_based –group_reporting –filename=/tmp/randtest

4 KB bloklarla 4 job paralel çalıştırarak latency ve IOPS’i ölçer. Çıktıda clat (completion latency) ns/ps değerleri kritik öneme sahiptir; düşük değerler (mikrosaniye seviyesinde) iyi performansı işaret eder. Write testi için randwrite kullanın. VPS sağlayıcınızın NVMe desteği varsa, 50K+ IOPS bekleyin. Testleri birden fazla kez çalıştırarak ortalama alın ve CPU kullanımını top ile izleyin. Bu yaklaşım, darboğaz tespiti için vazgeçilmezdir.

Gelişmiş Konfigürasyon Dosyaları

Fio konfigürasyon dosyaları (.fio uzantılı), karmaşık testleri basitleştirir. Örnek dosya oluşturun: echo “[global]” > test.fio; echo “size=2G” >> test.fio; echo “bs=64k” >> test.fio; echo “[seqwrite]” >> test.fio; echo “rw=write” >> test.fio; sonra fio test.fio ile çalıştırın.

Bu yöntemle, multiple job’lar (numjobs=8) ve ramp-up süresi (ramp_time=10) ekleyin. Veritabanı benzeri test için randrw=70:30 oranı belirleyin. Çıktıyı JSON formatında kaydedin: –output-format=json. Analiz için jq gibi araçlar kullanın. Bu teknik, tekrarlanabilir testler sağlar ve VPS optimizasyonunda profesyonel sonuçlar verir.

Sonuç Analizi ve Performans Optimizasyonu

Fio çıktılarını inceleyerek, read/write bandwidth, IOPS, latency (min/avg/max) ve %99.9 iletilik değerlerini not alın. Düşük IOPS durumunda, VPS’in disk türünü (HDD vs SSD) kontrol edin. Yüksek latency için, I/O scheduler’ı noop veya none olarak ayarlayın: echo none > /sys/block/nvme0n1/queue/scheduler.

Optimizasyon adımları: 1) Swap kullanımını kapatın (swapoff -a). 2) noatime mount seçeneği ekleyin (/etc/fstab). 3) fio ile öncesi/sonrası test karşılaştırması yapın. Örnek: Baseline testten sonra fio –name=opt –rw=randrw –bs=4k –iodepth=64. %20+ iyileşme bekleyin. Monitoring için iostat veya iotop entegre edin. Düzenli benchmark’lar, kapasite planlamasında yardımcı olur ve sistem kararlılığını artırır.

Sonuç olarak, Fio ile VPS IO benchmark testleri, depolama performansınızı bilimsel verilere dayalı yönetmenizi sağlar. Düzenli testler yaparak sağlayıcınızı değerlendirin, konfigürasyonları ince ayarlayın ve uygulamanızın en yüksek verimliliğe ulaşmasını sağlayın. Bu pratik yaklaşım, kurumsal düzeyde altyapı yönetiminde standart hale gelmelidir.

Yazar: Editör
İçerik: 607 kelime
Okuma Süresi: 5 dakika
Zaman: Bugün
Yayım: 02-03-2026
Güncelleme: 02-03-2026
Benzer İçerikler
Dijital Dönüşüm kategorisinden ilginize çekebilecek benzer içerikler