Skip to content
Smarter by Design.Simpler for Business

Bandwidth Limitation ​

Bandwidth Limitation Aksiyonu Nedir? ​

Bandwidth Limitation aksiyonu, vService'lere gelen ve giden trafiğin bant genişliğini kontrol altına almak için kullanılır. Download (indirme) ve upload (yükleme) trafiği için ayrı ayrı limitler tanımlanabilir.

Bu aksiyon yalnızca istek (request) aşamasında çalışır ve koşullarla birlikte kullanılarak belirli trafik türlerine veya kullanıcı gruplarına özel limitler uygulanabilir.

Bandwidth Limitation Aksiyonunun Önemi ​

Bandwidth limitleme, ağ kaynaklarının adil ve verimli kullanımını sağlamak için kritik bir trafik yönetimi mekanizmasıdır.

Bandwidth Limitation aksiyonu;

  • Ağ kaynaklarının adil dağılımını sağlar,
  • Tek bir kullanıcının tüm bant genişliğini tüketmesini engeller,
  • Kritik servislere öncelik verilmesini mümkün kılar,
  • Dosya indirme ve video streaming trafiğini kontrol altına alır,
  • API servisleri için bant genişliği bazlı rate limiting imkanı sunar,
  • Farklı kullanıcı gruplarına farklı hız seviyeleri sunulmasını sağlar.

Bu nedenle Bandwidth Limitation aksiyonu, ağ kaynaklarının etkin yönetimi için vazgeçilmez bir araçtır.

Limitleme Modları ​

Bu aksiyon iki farklı limitleme modu sunar.

Dynamic
Belirlenen anahtar(lar)a göre gruplandırılmış istekler ortak limiti paylaşır. Örneğin aynı IP'den gelen tüm istekler toplam limiti paylaşır. En az bir anahtar gerektirir.
Stream
Her bir tekil bağlantı (connection) için ayrı limit uygulanır. Her bağlantı kendi limitini bağımsız olarak kullanır.
ModAçıklama
DynamicBelirlenen anahtar(lar)a göre gruplandırılmış istekler için ortak limit uygulanır. Örneğin, aynı IP adresinden gelen tüm istekler toplam limiti paylaşır. En az bir anahtar gerektirir.
StreamHer bir akış (stream) için ayrı limit uygulanır; keep-alive bir bağlantıdaki her istek ayrı bir akıştır. Her akış kendi limitini bağımsız kullanır.

Limitleme, saniye başına transfer edilen veri miktarı üzerinden hesaplanır. Limit aşıldığında trafik yavaşlatılır (throttle), tamamen engellenmez.

Kullanılabildiği vService Tipleri ​

HTTP
L7 TCP
Network

Çalışma Anı ​

İstek Anı (On Request)
Cevap Anı (On Response)

Nasıl Eklenir? ​

Yeni bir Bandwidth Limitation Aksiyonu, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlar izlenerek eklenebilir:

  1. Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
  2. Load Balancer → Actions → Add adımları takip edilir.
  3. Aksiyon için benzersiz ve açıklayıcı bir isim girilir.
  4. Action Type olarak Bandwidth Limitation seçilir.
  5. Aksiyona ait ilgili konfigürasyonlar yapılandırılır.
  6. Conditions sekmesinden aksiyonun hangi koşul/koşullarda devreye gireceği belirlenir.
  7. Add butonuna tıklanarak aksiyon eklenir.

Bandwidth Limitation Aksiyonu Ekleme Formu ​

Bandwidth Limitation Aksiyonu Ekleme FormuBandwidth Limitation Aksiyonu Ekleme Formu

INFO

Action Name ​

Oluşturulacak olan aksiyona benzersiz ve açıklayıcı bir isim girilir.

INFO

Action Type ​

Aksiyon tipi olarak Bandwidth Limitation seçilir.

INFO

Key ​

Limit Type alanında Dynamic seçildiğinde görünür. Alan, varsayılan olarak Source client IP değişkeniyle dolu gelir.

Değişken satırına (veya fx butonuna) tıklandığında Değişken ekle / Değişken düzenle penceresi açılır. Bu pencerede Değişken adı aranabilir listeden seçilir, değişken argüman alıyorsa (başlık adı, çerez adı vb.) ilgili alan doldurulur, gerekiyorsa Fonksiyondan geçir ile akıllı fonksiyon zinciri tanımlanır; Özet alanında oluşan ifadenin önizlemesi görülür ve Gönder ile alana yazılır.

Limitleme gruplarını oluşturmak için kullanılacak anahtar değişkenleri bu alandan seçilir. Aynı anahtar kombinasyonuna sahip istekler, tanımlanan limiti paylaşır.

DANGER

Limit Type olarak Dynamic seçildiğinde en az bir anahtar tanımlanmalıdır. Anahtar tanımlanmadan oluşturulan Dynamic mod kuralları çalışmaz ve sessizce atlanır. Dynamic modda aynı anda en fazla 100.000 farklı anahtar izlenir; bir anahtarın hız kaydı, trafiği kesildikten 1 saat sonra düşer.

Smart Variables kullanılarak dinamik gruplama yapılabilir. Örneğin:

  • İstemci IP adresi: İstemci IP'sine göre gruplama
  • İstemci Port numarası: İstemci portuna göre gruplama
  • İsteğin yapıldığı dizin/sayfa: İstek path'ine göre gruplama
  • İstek Başlık bilgisi: Belirli bir header değerine göre gruplama

Birden fazla anahtar eklenebilir:

Birden Fazla Key Seçimi ÖrneğiBirden Fazla Key Seçimi Örneği

Birden fazla anahtar eklendiğinde, tüm anahtarların kombinasyonu benzersiz grup tanımlayıcısı olarak kullanılır.

TIP

Bu alan Smart Variables destekler. fx butonu ile mevcut değişkenlere erişilebilir ve dinamik içerik oluşturulabilir.

Detaylı bilgi Variables sayfasında yer alır.

INFO

Download Limit ​

İstemciye gönderilen (download) trafiğin maksimum hızı bu alandan belirlenir. Değer girildikten sonra birim seçimi yapılabilir:

  • Kbps: Kilobit/saniye
  • Mbps: Megabit/saniye
  • Gbps: Gigabit/saniye

Değer tamsayı olarak girilir; aralık 1 Kbps – 32 Gbps'dir. Birim çarpanları ikilidir: 1 Mbps = 1024 Kbps, 1 Gbps = 1024 Mbps (birim kutusunun varsayılanı Kbps'dir).

INFO

Upload Limit ​

İstemciden alınan (upload) trafiğin maksimum hızı bu alandan belirlenir. Değer girildikten sonra birim seçimi yapılabilir:

  • Kbps: Kilobit/saniye
  • Mbps: Megabit/saniye
  • Gbps: Gigabit/saniye

WARNING

Download Limit ve Upload Limit'in ikisi birden boş bırakılamaz: en az bir limit girilmelidir; form aksi durumda kaydetmeye izin vermez.

INFO

Limit Type Varsayılan: Dynamic ​

Limitleme modunun seçildiği alandır.

  • Dynamic: Bu modda, belirlenen anahtar(lar)a göre gruplandırılmış istekler için ortak limit uygulanır. Aynı anahtar kombinasyonuna sahip tüm bağlantılar, tanımlanan limiti paylaşır. Bu mod, kullanıcı veya IP bazlı adil bant genişliği dağılımı için idealdir. Örnek: IP bazlı 10 Mbps limit tanımlandığında, aynı IP'den gelen tüm eşzamanlı bağlantılar toplam 10 Mbps'i paylaşır.
  • Stream: Bu modda, her bir akış (stream) için ayrı limit uygulanır; keep-alive bir bağlantıdaki her istek ayrı bir akış sayılır. Bu mod, akış başına sabit hız garantisi gereken senaryolar için uygundur. Örnek: 10 Mbps limit tanımlandığında, her akış bağımsız olarak 10 Mbps'e kadar hız alabilir.

INFO

Conditions ​

Bu alanda, ilgili aksiyonun hangi koşul veya koşullar sağlandığında devreye gireceği tanımlanır.

Bir veya birden fazla koşul eklenerek, and/or yapısı ile davranışın hedefli ve kontrollü şekilde uygulanması sağlanabilir.

Koşullar hakkında detaylı bilgi Conditions sayfasında yer alır.

WARNING

Bu alanda herhangi bir koşul tanımlanmazsa, ilgili aksiyon koşulsuz (Always) olarak çalışır. Bu durumda aksiyon, ilgili vService'e gelen tüm trafiğe uygulanır.

Canlı ortamlarda, koşul tanımlanmadan aksiyon kullanılması beklenmeyen durumlara (servis kesintilerine) yol açabilir. Bu nedenle aksiyon oluşturulurken mutlaka en az bir koşul tanımlanması önerilir.

INFO

Form Butonları ​

Add ​

Add butonuna tıklanarak aksiyon ekleme işlemi tamamlanır.

Add & Repeat ​

Add & Repeat butonu ile aksiyon ekleme işlemi tamamlanır ve farklı konfigürasyonlarla ilgili pencereden çıkılmadan yeni bir aksiyon daha eklenebilir.

Aksiyon EklendiAksiyon Eklendi

Operasyonel ve Güvenli Kullanım Önerileri ​

Doğru mod seçilir:

SenaryoÖnerilen Mod
Kullanıcı başına adil paylaşımDynamic (IP bazlı)
Bağlantı başına sabit hızStream
API rate limitingDynamic (API key veya user ID bazlı)
Video streamingStream
  • Gerçekçi Limitler Belirleyin. Çok düşük limitler kullanıcı deneyimini olumsuz etkiler, çok yüksek limitler ise etkisiz kalır. Mevcut trafik paternlerini analiz ederek optimum değerleri belirleyin.
  • Koşullarla birlikte kullanılır. Tüm trafiğe limit uygulamak yerine belirli path'lere, içerik türlerine ya da kullanıcı gruplarına hedefli limitler tanımlanır.
  • Dynamic Modda Anahtar Seçimini İyi Yapın. Yalnızca IP: en yaygın kullanım, kullanıcı başına limit. IP + Path: aynı kullanıcının farklı kaynaklara farklı limitlerle erişimi. User ID/Session: oturum bazlı daha hassas kontrol.
  • Download ve Upload Ayrımını Değerlendirin. Çoğu web uygulamasında download trafiği upload'dan çok daha yoğundur. Genellikle download limiti daha kritiktir, ancak dosya yükleme özellikleri olan uygulamalarda upload limiti de önemlidir.
  • Monitoring ile birlikte kullanılır. Bandwidth limitleme aksiyonlarının etkisi vService canlı istatistikleri ve loglar üzerinden gözlemlenir (bu aksiyonun kendine ait bir isabet sayacı yoktur). Limitlerin sıklıkla aşılıp aşılmadığı kontrol edilir.

Canlı Ortamlarda Yaygın Kullanım Senaryoları ​

Aşağıdaki örnekler, ilgili aksiyonun gerçek sistemlerde en sık karşılaşılan kullanım senaryolarında nasıl uygulandığını göstermektedir. Bu senaryolar, canlı ortamlarda yaygın olarak tercih edilen ve sahada edinilmiş deneyimlere dayanan pratikleri temel alır.

Senaryo 1: Kullanıcı Başına Dosya İndirme Hız Kısıtlama ​

Problem: Bazı kullanıcılar büyük dosyaları indirerek tüm bant genişliğini tüketiyor ve diğer kullanıcıların erişimi yavaşlıyor. Ağ kaynakları adil dağıtılmıyor.

Çözüm: Her kullanıcıya (IP bazlı) /downloads/ path'i için maksimum 10 Mbps download limiti uygulayarak adil paylaşım sağlayın.

Konfigürasyon:

  • Key: Smart Variables (fx) butonundan İstemci IP adresi değişkeni seçilir
  • Download Limit: 10 Mbps
  • Upload Limit: Boş (upload sınırı yok)
  • Limit Type: Dynamic
  • Conditions: Path STARTS WITH /downloads/

Sonuç:

  • ✅ /downloads/ path'ine yapılan istekler → Her IP adresi maksimum 10 Mbps hız ile download yapar.
  • ✅ Ağ kaynakları → Adil şekilde dağıtılır, tek kullanıcı tüm bandı tüketemez.
  • ❌ /downloads/ dışındaki path'ler → Bandwidth limiti uygulanmaz, normal hızda çalışır.

Senaryo 2: API Endpoint Bandwidth Koruması ​

Problem: API endpoint'lerine yapılan büyük data export istekleri Kurum Servisini ve network'ü aşırı yüklüyor. Bazı kullanıcılar sürekli büyük veri setleri çekiyor.

Çözüm: API export endpoint'lerine IP bazlı bandwidth limiti uygulanarak hem download hem upload trafiği kontrol altına alınır.

Konfigürasyon:

  • Key: Smart Variables (fx) butonundan İstemci IP adresi değişkeni seçilir
  • Download Limit: 5 Mbps
  • Upload Limit: 2 Mbps
  • Limit Type: Dynamic
  • Conditions:
    • Path = /api/export
    • OR Path = /api/bulk-download

Sonuç:

  • ✅ /api/export veya /api/bulk-download istekleri → Her IP için 5 Mbps download, 2 Mbps upload limiti uygulanır.
  • ✅ Kurum Servisi ve network → Aşırı yüklenmeden korunur, stabil kalır.
  • ❌ Diğer API endpoint'leri → Bandwidth limiti uygulanmaz.