HTTP TCP Multiplexing nedir; backend bağlantı sayısını nasıl azaltır?
Kısa cevap
HTTP TCP Multiplexing, TR7 ile Kurum Servisi arasındaki bağlantıların istekten sonra açık tutulup başka istemci oturumlarının istekleri için de kullanılmasını yöneten aksiyondur. Her istek için yeni bağlantı ve HTTPS'te yeni TLS el sıkışması açmak yerine boştaki bağlantı kullanıldığından Kurum Servisindeki bağlantı sayısı ve bağlantı kurma yükü azalır. Bağlantının açık kalıp kalmayacağı Connection Mode, paylaşım düzeyi Connection Share Strategy ile belirlenir; aksiyon yalnızca HTTP vService'te, vService başına bir kez kullanılır. Aksiyon hiç eklenmezse bağlantılar açık tutulur ve Safe paylaşımı uygulanır.
Nasıl Çalışır?
TR7, istemciden gelen istekleri kendi açtığı bağlantılarla Kurum Servisine iletir. Bu bağlantılar yanıttan sonra açık tutulursa sonraki istekler yeni bağlantı açmadan aynı bağlantıyı kullanır; paylaşıma izin verildiğinde bir istemcinin açtırdığı bağlantıyı başka bir istemcinin isteği de kullanabilir.
Connection Mode
| Seçenek | Davranış |
|---|---|
| Keep the connection open (default) | Kurum Servisi bağlantısı açık kalır; paylaşım yalnızca bu modda yapılır |
| Close the backend service connection (not recommended) | İstemci bağlantısı açık kalır, Kurum Servisi bağlantısı her yanıttan sonra kapanır |
| Close after Every Request (not recommended) | Her istekten sonra iki taraftaki bağlantı da kapanır; Timeouts profilindeki HTTP Keepalive Timeout işlevsiz kalır |
Connection Share Strategy
| Seçenek | Paylaşım |
|---|---|
| Never | Bağlantılar oturumlar arasında paylaşılmaz |
| Safe | Oturumun ilk isteği yeni bağlantı açar; sonraki istekler mevcut bağlantıları kullanabilir |
| Aggresive | İlk istek yalnızca daha önce başarıyla yeniden kullanılmış bağlantılara gönderilir |
| Always | Mevcut bağlantılar her istekte kullanılabilir |
Alan boş bırakılırsa Safe davranışı geçerlidir (Connection Share Strategy). Alan yalnızca Keep the connection open seçiliyken görünür.
TR7'de HTTP TCP Multiplexing
- Nerede: Aksiyon Load Balancer → Actions → Add ile Action Type = HTTP TCP Multiplexing seçilerek oluşturulur ve vService'in Details → Actions alanına eklenip Save tıklanır; koşul almaz.
- Değişikliğin etkisi: Kayıt açık bağlantılar kopmadan uygulanır. Cluster'da varsayılan auto-sync ile eş cihaza da gönderilir; Manual Sync Mode açıksa Synchronize ile gönderilir.
- Kapatan modlarda limitler: Close modlarında her istek yeni bağlantı, HTTPS'te yeni TLS el sıkışması açar; vService Limits profilindeki saniyelik bağlantı ve SSL limitleri izlenir (vService Limits profili nedir; varsayılan limitler nelerdir?).
- Sınır: İkinci bir HTTP TCP Multiplexing aksiyonu eklenirse vService formu "Max. number for HTTP TCP multiplexing rule is exceeded" uyarısı verir.
- İzleme: Etkisi vService panosunda Backend Connections Distribution grafiğinde, yeni bağlantı sayısının düşmesiyle görülür.
Sık Karıştırılan Noktalar
- "İstemci bağlantılarını da azaltır." Yalnızca TR7 ile Kurum Servisi arasındaki bağlantıları etkiler.
- "Always her uygulamada güvenlidir." NTLM ya da Kerberos gibi bağlantıya bağlı kimlik doğrulaması kullanan uygulamalarda (Exchange, SharePoint, IIS) Never ya da Safe tercih edilir.
- "Bağlantıyı kapatan modlar daha güvenlidir." Her istekte yeni bağlantı ve TLS el sıkışması açıldığı için yük artar; yalnızca kalıcı bağlantıda sorun çıkaran servislerde kullanılır.
- "HTTP/2 ile aynı şeydir." HTTP/2 istemci ile TR7 arasındaki protokoldür; bu aksiyon Kurum Servisi tarafını yönetir.
Dokümantasyonda nasıl yapılır
İlgili sorular
