Gecikme nedir?
Gecikme, bir isteğin başlatılması ile yanıtın alınması arasındaki zaman farkıdır ve genellikle milisaniye (ms) cinsinden ölçülür. Ağ ve DNS bağlamında bu değer, verinin istemciden sunucuya ve geri dönmesi için geçen gidiş-dönüş süresini ifade eder. Düşük gecikme hızlı web sayfaları, duyarlı uygulamalar ve iyi kullanıcı deneyimi için kritiktir. Yüksek gecikme fark edilir beklemelere yol açar ve iş metriklerini olumsuz etkileyebilir.Gecikme türleri
Ağ gecikmesi
Veri paketlerinin ağ üzerinden ilerlemesi için geçen süreyi etkileyen unsurlar şunlardır:
- İstemci ile sunucu arasındaki fiziksel mesafe
- Ağ atlamalarının, yani yönlendirici ve anahtarların sayısı
- Ağ tıkanıklığı ve bant genişliği sınırlamaları
- Ağ altyapısının kalitesi
DNS gecikmesi
Bir alan adının IP adresine çözümlenmesi için geçen süre şu etkenlere bağlıdır:
- DNS sunucusunun yanıt süresi
- Önbellek durumu (isabet veya kaçırma)
- DNS sorgu zinciri (resolver → authoritative)
- DNSSEC doğrulamasının ek maliyeti
Uygulama gecikmesi
Uygulamanın istekleri işleme süresini belirleyen unsurlar şunlardır:
- Veritabanı sorgusunun yürütülmesi
- Sunucu tarafındaki işlem
- API yanıtının oluşturulması
- Arka uç hizmetleri arasındaki iletişim
Gecikmeyi ölçme
Yaygın araçlar
Aşağıdaki araçlar farklı aşamaların süresini ayrı ölçmeye yardımcı olur:
# Ping test (ICMP latency)
ping example.com
# DNS resolution time
dig example.com | grep "Query time"
# HTTP timing
curl -w "@curl-format.txt" -o /dev/null -s https://example.com
Temel metrikler
| Metrik | Açıklama | İyi hedef |
|---|---|---|
| RTT (Round Trip Time) | Tam istek-yanıt döngüsü | <100ms |
| TTFB (Time to First Byte) | Sunucu yanıtının başlama süresi | <200ms |
| DNS Resolution | Alan adından IP araması | <50ms |
| Connection Time | TCP el sıkışmasının tamamlanması | <100ms |
Bölgeye göre gecikme etkisi
Coğrafi mesafe gecikmeyi doğrudan etkiler:
| Rota | Tipik gecikme |
|---|---|
| Aynı şehir | 1-10ms |
| Aynı ülke | 20-50ms |
| Aynı kıta | 50-100ms |
| Kıtalar arası | 100-200ms |
| Küresel (zıt uçlar) | 200-300ms |
DNS gecikmesini azaltma
Anycast DNS kullanımı kullanımı
DNS sunucularını dünya çapında dağıtıp sorguları en yakındaki sunucuya yönlendirin:
- Birden çok sunucu aynı IP adresini paylaşır
- Sorgular otomatik olarak en yakın konuma yönlendirilir
- Yerleşik yedeklilik sağlanır
DNS önbellekleme
Tekrarlanan aramalar için TTL'den yararlanın:
example.com. 300 IN A 192.0.2.1
↑ TTL in seconds
- Tarayıcı önbelleği (saniyeler ile dakikalar)
- İşletim sistemi önbelleği
- ISP resolver önbelleği
EDNS istemci alt ağı
Coğrafi açıdan duyarlı yanıtları etkinleştirin:
- İstemci konumu authoritative sunucuya aktarılır
- En yakın sunucu IP'si döndürülür
- CDN performansı iyileşir
Genel gecikmeyi azaltma
İçerik Dağıtım Ağları (CDN'ler)
- İçeriği edge konumlarında önbelleğe alın
- Kullanıcılara yakındaki sunuculardan hizmet verin
- Origin sunucunun yükünü azaltın
Bağlantı optimizasyonu
- HTTP/2 çoklama
- Keep-alive bağlantıları
- TLS oturumunun yeniden kullanılması
- Daha az el sıkışma için HTTP/3 (QUIC)
Altyapı seçimleri
- Birden çok veri merkezi konumu
- Premium ağ sağlayıcıları
- Optimize edilmiş yönlendirme yolları
- Dinamik içerik için edge computing
Gecikme ve bant genişliği
Aradaki farkı anlamak önemlidir:
- Gecikme: Verinin gelmeye başlamasına kadar geçen bekleme
- Bant genişliği: Saniyede taşınabilen veri miktarı (throughput)
Her ikisi de performans için önemlidir, ancak özellikle etkileşimli uygulamalarda gecikme kullanıcının algıladığı hız üzerinde çoğu zaman daha büyük etkiye sahiptir.
Düşük gecikme, kullanıcı memnuniyetini, dönüşüm oranlarını ve arama motoru sıralamalarını doğrudan etkilediği için modern web performansının temel gereğidir.