
Depolama Ağı Gecikmesi: Ağ Üzerinden Disk Kullanmak
Veritabanı sunucunuz yavaş ve disk kullanımı düşük görünüyor. İşlemci boşta, bellek rahat. Ama depolama yerel değil — ağ üzerinden bağlı bir birimde. Ve ağ üzerinden gelen her disk isteği, yerel bir diskten çok farklı davranır.
Bu yazı, ağ tabanlı depolamanın performans teşhisini ele alıyor.
Yerel Diskten Farkı
| Yerel disk | Ağ üzerinden depolama |
|---|---|
| Gecikme mikrosaniye | Gecikme milisaniye |
| Ağ etkilemez | Ağ her şeyi etkiler |
| Tek bileşen | Zincir hâlinde bileşen |
Üçüncü satır teşhis zorluğunu açıklar: ağ üzerinden depolamada bir isteğin yolunda sunucu, ağ kartı, anahtar, depolama denetleyicisi ve diskler bulunur — herhangi birindeki sorun aynı belirtiyi üretir ve suçluyu bulmak katman katman ilerlemeyi gerektirir.
Yerel diskte bu zincir yoktur.
Bu nedenle ölçüm noktaları önemlidir.
Her katman ayrı ölçülmelidir.
Gecikmenin Etkisi
- Her istek ağ turu gerektirir.
- Küçük istekler orantısız etkilenir.
- Sıralı iş yükleri çok yavaşlar.
Üçüncü madde en sık yaşanan performans sorunudur: birbiri ardına bekleyerek yapılan binlerce küçük istek, her birinde ağ gecikmesini yeniden ödediği için toplamda kabul edilemez sürelere ulaşır — aynı iş yerel diskte anında biter.
Bant genişliği burada sınırlayıcı değildir.
Sorun tamamen gecikmeden kaynaklanır.
Çözüm, istekleri paralel hâle getirmektir.
Doğru Ölçüm
- Bant genişliği tek başına yetersizdir.
- Gecikme ölçülmelidir.
- Kuyruk derinliği izlenmelidir.
Üçüncü madde darboğazı ortaya çıkarır: kuyrukta bekleyen istek sayısının sürekli yüksek olması, depolamanın gelen talebi karşılayamadığını gösterir — bu, gecikme rakamından daha net bir doygunluk işaretidir.
Kuyruk boşsa depolama yeterlidir.
Sorun başka yerdedir.
Bu ayrım gereksiz yükseltmeleri önler.
Ağ Tarafı
| Sorun | Etkisi |
|---|---|
| Paket kaybı | Yeniden gönderim, büyük yavaşlama |
| Aynı ağda üretim trafiği | Rekabet ve dalgalanma |
| Paket boyutu uyumsuzluğu | Parçalanma |
İkinci satır en yaygın yapılandırma hatasıdır: depolama trafiğini üretim trafiğiyle aynı ağ üzerinden geçirmek, yoğun saatlerde disk performansının tahmin edilemez biçimde dalgalanmasına yol açar — depolama kendi ayrı ağını kullanmalıdır.
Bu ayrım fiziksel veya mantıksal olabilir.
Birinci satır ise en yıkıcı etkiyi yapar.
Küçük bir kayıp oranı bile büyük gecikme üretir.
Protokol Seçimi
- Blok tabanlı erişim disk gibi davranır.
- Dosya tabanlı erişim paylaşım sunar.
- İş yüküne göre seçilir.
Üçüncü madde kararın ölçütünü verir: veritabanları blok tabanlı erişimle daha iyi çalışır çünkü kendi dosya sistemini yönetir; dosya paylaşımı ve ortak içerik dizinleri için ise dosya tabanlı erişim daha uygundur.
Yanlış protokol seçimi performans sorunu üretir.
Veritabanını dosya paylaşımı üzerinde çalıştırmak risklidir.
Bazı veritabanları bunu desteklemez.
Önbellek Katmanları
- Sunucuda önbellek vardır.
- Depolamada da önbellek vardır.
- Ölçümler yanıltıcı olabilir.
Üçüncü madde test sonuçlarını bozar: küçük bir veri kümesiyle yapılan hız testi tamamen önbellekten okuma yapabilir ve gerçek disk performansını hiç ölçmez — test verisi, önbellek boyutundan belirgin biçimde büyük olmalıdır.
Aksi hâlde sonuçlar gerçeği yansıtmaz.
Üretimde aynı hız elde edilemez.
Bu, kabul testlerinde sık yapılan hatadır.
Çoklu Yol
| Özellik | Faydası |
|---|---|
| Birden fazla ağ yolu | Yedeklilik |
| Yük dağıtımı | Daha yüksek verim |
| Yol arızasında geçiş | Kesintisiz erişim |
Üçüncü satır kritik bir güvence sağlar: tek bir ağ yolu üzerinden bağlı depolama, o yol koptuğunda sunucunun diskini kaybetmesi demektir — bu, sunucunun tamamen durması ve dosya sistemi bozulması anlamına gelir.
Çoklu yol bu riski ortadan kaldırır.
Yapılandırması dikkatli yapılmalıdır.
Yanlış yapılandırılmış çoklu yol, veri bozulmasına yol açabilir.
Zaman Aşımı Ayarları
- Kısa zaman aşımı erken hata verir.
- Uzun zaman aşımı sistemi dondurur.
- Denge kurulmalıdır.
İkinci madde çok can sıkıcı bir davranış üretir: depolama yanıt vermediğinde uzun zaman aşımı bekleyen bir sunucu tamamen kilitlenmiş görünür — komutlar yanıt vermez ve sunucuya bağlanmak bile mümkün olmayabilir.
Bu, sunucu çökmüş gibi algılanır.
Oysa yalnızca disk yanıtı bekliyordur.
Ayarlar iş yüküne göre belirlenmelidir.
Teşhis Sırası
- Sunucu tarafı gecikmeyi ölçün.
- Ağ sayaçlarını kontrol edin.
- Depolama tarafı istatistiklerine bakın.
Bu sıra zaman kazandırır: gecikme sunucuda yüksek ama depolama tarafında düşük görünüyorsa sorun aradaki ağdadır — bu tek karşılaştırma, sorumluluğu üç katmandan birine indirger.
Depolama sağlayıcısı kendi istatistiklerini paylaşabilir.
İki taraflı bakış tartışmayı bitirir.
Tek taraflı ölçümler suçlamayla sonuçlanır.
Depolama mimarisi ve ağ ayrımı sunucu yapılandırmanızın parçasıdır; fiziksel sunucu kiralama seçenekleri ile yerel veya ağ tabanlı depolama arasında ihtiyacınıza göre seçim yapabilirsiniz.
Sonuç
Ağ üzerinden depolamada sorun genellikle bant genişliği değil gecikmedir: birbiri ardına bekleyerek yapılan binlerce küçük istek, her birinde ağ gecikmesini yeniden öder. Depolamayı üretim trafiğinden ayrı bir ağa alın, kuyruk derinliğini izleyin ve çoklu yol kullanın — tek yol koptuğunda sunucu diskini kaybeder. Testleri önbellekten büyük veriyle yapın.
Sıkça Sorulan Sorular (SSS)
Bant genişliği yeterli ama disk yavaş?
Sorun gecikme olabilir. Birbiri ardına bekleyerek yapılan binlerce küçük istek, her birinde ağ turunu yeniden ödediği için toplamda kabul edilemez sürelere ulaşır; aynı iş yerel diskte anında biter. İstekleri paralel hâle getirmek yardımcı olur.
Depolama trafiğini ayırmalı mıyım?
Ayırın. Depolama trafiğini üretim trafiğiyle aynı ağdan geçirmek, yoğun saatlerde disk performansının tahmin edilemez biçimde dalgalanmasına yol açar. Ayrım fiziksel veya mantıksal olabilir.
Hız testim neden gerçeği yansıtmıyor?
Test verisi önbelleğe sığıyor olabilir. Küçük bir veri kümesiyle yapılan test tamamen önbellekten okuma yapar ve gerçek disk performansını hiç ölçmez. Test verisi, önbellek boyutundan belirgin biçimde büyük olmalıdır.
Sunucu tamamen kilitleniyor?
Depolama yanıt vermiyor ve uzun zaman aşımı bekleniyor olabilir. Bu durumda komutlar yanıt vermez ve sunucu çökmüş gibi görünür; oysa yalnızca disk yanıtı beklemektedir. Zaman aşımı ayarlarını iş yükünüze göre dengeleyin.