Connection Limit nedir; limit dolunca yeni istekler ne olur?
Kısa cevap
Connection Limit, bir Kurum Servisinin aynı anda taşıyabileceği en fazla bağlantı sayısıdır; 1–65535 arası bir tam sayı girilir, varsayılan değeri yoktur ve boşken sunucu başına sınır uygulanmaz. HTTP ve L7 TCP vService'lerde limit dolan sunucuya yeni bağlantı verilmez, istekler limiti dolmamış sunuculara gider; bütün sunucular doluysa istekler kuyrukta bekler ve Queue Timeout süresi (DEFAULT profilde 60 saniye) içinde yer açılmazsa istemciye 503 döner. Network vService'te kuyruk yoktur; limit dolan sunucu yeni bağlantı almaz (Port Range açıkken ya da Protocol ANY - L3 iken limit uygulanmaz).
Nasıl Çalışır?
HTTP ve L7 TCP vService'te:
- Yeni istek gelir; algoritma bir sunucu seçer.
- Bir sunucunun eşzamanlı bağlantı sayısı limitteyse algoritma onu seçmez ve limiti dolmamış başka bir sunucu seçer.
- Limiti dolmamış sunucu yoksa istek kuyruğa girer. Persistence ile belirli bir sunucuya sabitlenmiş istek, o sunucu doluysa o sunucunun sırasında bekler.
- Bir bağlantı kapanınca kuyruktaki istek sunucuya verilir.
- Queue Timeout dolarsa istek işlenmeden sonlandırılır ve istemci 503 alır.
Queue Timeout değeri vService'e bağlı Timeouts profilinden gelir; profil seçilmemişse DEFAULT profilin 60 saniyesi geçerlidir.
Connection Limit ile vService Limitleri Farkı
| Connection Limit | Max. Total Connections | |
|---|---|---|
| Nerede | Kurum Servisi (Backend Group'ta sunucu bazında) | vService Limits profili |
| Neyi sınırlar | Tek bir sunucuya giden eşzamanlı bağlantıyı | vService'in toplam eşzamanlı bağlantısını |
| Varsayılan | Yok (sınır uygulanmaz) | 20.000 |
| Kapsam | Her vService'te ayrı sayılır | vService başına |
Network vService'te
Network vService'te limit dolan sunucu aşırı yüklü sayılır ve bağlantı sayısı düşene kadar yeni bağlantı almaz; yeni bağlantılar diğer sunuculara gider. Burada kuyruk yoktur, Queue Timeout da uygulanmaz.
Port Range açıkken ya da Protocol ANY - L3 iken Connection Limit uygulanmaz; bu vService'lerde sunucu başına bağlantı sınırı gerekiyorsa sınır Kurum Servisinin kendi yapılandırmasında uygulanır.
TR7'de
- Tekil Kurum Servisi: Load Balancer → Backend Services → Add ya da Edit → Details anahtarı → Connection Limit; form butonuyla kaydedilir.
- Backend Group: Sunucu bazlıdır; Backends tablosunda her satıra ayrı girilir (Backend Groups · Connection Limit).
- Aralık dışı ya da tam sayı olmayan değerde form "Connection limit must be in range 1-65535" uyarısı verir.
- Aynı Kurum Servisi birden fazla vService'te: Limit her vService'te ayrı uygulanır; toplam bir sınır değildir.
- Nereden izlenir: Kuyrukta bekleyen istekler vService'in Live Stats ekranındaki Queued Requests kartında izlenir (Network vService'te bu kart hep 0 gösterir); sunucu başına anlık oturumlar aynı ekranın Backend Services tablosundadır.
- First algoritması: Sunucu seçimini Connection Limit belirler; listedeki ilk sunucu limitine ulaşana kadar bütün trafiği alır, sonra sıradakine geçilir.
- Clustering açıkken ve Manual Sync Mode kapalıyken (varsayılan) değer eş cihaza otomatik aktarılır; limit her cihazda kendi trafiğine uygulanır.
Sık Karıştırılan Noktalar
- "Limit dolunca Backup Service devreye girer." Dolu sunucu kullanılamaz sayılmaz; yedek devreye girmez, istekler kuyrukta bekler.
- "Limit dolunca yeni bağlantılar hemen reddedilir." HTTP ve L7 TCP vService'te önce kuyrukta beklenir; 503 ancak Queue Timeout dolunca döner.
- "Connection Limit 0 sunucuyu kapatır." En düşük değer 1'dir; sunucuyu trafikten çıkarmak için Maintenance Mode kullanılır (Network vService'te Maintenance Mode uygulanmaz; Kurum Servisi vService'in Backend Services listesinden çıkarılır).
- "Limit, istek sayısıdır." Limit eşzamanlı bağlantı sayısıdır.
Dokümantasyonda nasıl yapılır
