HTTP keep-alive nedir?
Kısa cevap
Keep-alive (persistent connection), bir TCP bağlantısının yanıt gönderildikten sonra kapanmayıp aynı istemcinin sonraki istekleri için yeniden kullanılmasıdır; her istek için yeni bağlantı (HTTPS'te yeni TLS handshake) kurma maliyetini ortadan kaldırır. HTTP/1.1'de varsayılan davranıştır. TR7 bağlantıları varsayılan olarak iki tarafta da açık tutar. İstemci bağlantısının iki istek arasında boşta açık kalma süresi Timeouts profilindeki HTTP Keepalive Timeout alanıyla belirlenir (varsayılan 120 saniye). TR7 ile Kurum Servisi arasındaki davranış HTTP TCP Multiplexing aksiyonunun Connection Mode alanıyla değiştirilir: varsayılan Keep the Connection Open'dır; Close the Backend Service Connection yalnızca Kurum Servisi bağlantısını, Close After Every Request iki taraftaki bağlantıyı da her istekten sonra kapatır.
TR7'de Nerede Kullanılır
| Nerede | Alan / etiket | Ne için |
|---|---|---|
| Load Balancer → Profiles (L4-L7 Behavior Sets) → Timeouts | HTTP Keepalive Timeout (saniye; varsayılan 120, 0–60.000) | İstemci bağlantısının iki istek arasında boşta açık kalma süresi; yalnızca HTTP vService'te uygulanır |
| HTTP vService formu → Details | Timeout | Timeouts profilini vService'e atama; profil atanmamışsa varsayılan Timeouts profili değerleri geçerlidir |
| Load Balancer → Actions (Policy Actions) → HTTP TCP Multiplexing aksiyonu | Connection Mode: Keep the Connection Open (default), Close the Backend Service Connection (Not Recommended), Close After Every Request (Not Recommended) | Bağlantıların istekten sonra açık kalıp kalmayacağı |
| Aynı aksiyon | Connection Share Strategy: Safe, Aggresive, Always, Never | Açık tutulan Kurum Servisi bağlantılarının istekler arasında paylaşılması; yalnızca Keep the Connection Open seçiliyken görünür |
Timeouts profilindeki bütün değerler: Timeouts profilindeki değerler (HTTP Keepalive Timeout, HTTP Request Timeout, Connect, Server, Client, Queue, Tunnel(Websocket) Timeout, Client FIN, Server FIN) ne anlama gelir?
Sık Karıştırılan Noktalar
- "Keep-alive süresi uzadıkça performans hep artar." Boşta bekleyen her bağlantı TR7'de ve istemcide kaynak tutar; süre, istemcilerin iki istek arasında ne kadar beklediğine göre seçilir.
- "HTTP keepalive timeout Kurum Servisi bağlantısını yönetir." Bu alan istemci tarafında iki istek arasındaki bekleme süresini sınırlar; Kurum Servisi bağlantısının açık kalıp kalmayacağı Connection Mode ile belirlenir. Close After Every Request seçildiğinde istemci bağlantısı da her istekten sonra kapandığı için HTTP Keepalive Timeout işlevsiz kalır.
- "Bağlantıları kapatmak daha güvenlidir." Kapatan modlarda her istek yeni bir bağlantı, HTTPS'te yeni bir TLS handshake demektir; bu modlar yalnızca kalıcı bağlantıyla düzgün çalışmayan Kurum Servisleri için seçilir.
Dokümantasyonda nasıl yapılır
