
Sunucunuz güçlü, bağlantı hızı yüksek, uygulama optimize. Ama uzak bir ülkedeki kullanıcı için siteniz hâlâ yavaş açılıyor.
Nedeni bant genişliği değil, gecikmedir. Bu yazı, fiziksel sunucu lokasyonunun performansa etkisini anlatıyor.
Hız ve Gecikme Farkı
| Kavram | Ne ölçer | Neyi etkiler |
|---|---|---|
| Bant genişliği | Birim zamanda taşınan veri | Büyük dosya aktarımı |
| Gecikme | Paketin gidiş-dönüş süresi | Sayfa açılma hissi |
İkinci satır, kullanıcı deneyimi açısından belirleyicidir ve sıkça yanlış anlaşılır: bir web sayfası, tek bir büyük dosya değil onlarca küçük isteğin toplamıdır ve her istek gecikmeden ayrı ayrı etkilenir.
Pratik sonuç: yüksek bant genişliği, yüksek gecikmeyi telafi etmez. Fiber hızında bir bağlantınız olsa bile, uzak bir sunucuya yapılan her istek aynı gecikmeyi yaşar.
Gecikmenin Katlanması
Tek bir isteğin gecikmesi küçük görünebilir. Ancak bir sayfa yüklenirken:
- Ad çözümleme isteği
- Bağlantı kurma
- Şifreli bağlantı el sıkışması
- HTML isteği
- Stil ve betik dosyaları
- Görseller
- Dış servis çağrıları
Bu adımların bir kısmı sıralıdır — biri bitmeden diğeri başlamaz. Sonuç: tek bir isteğin gecikmesi, sayfa açılma süresinde birkaç katına çıkar.
Üçüncü adım özellikle maliyetlidir: şifreli bağlantı kurulumu birden fazla gidiş-dönüş gerektirir ve her biri gecikmeyi ekler.
Lokasyon Seçimi
Sunucu lokasyonunu belirlerken sorulacaklar:
- Kullanıcılarınız nerede? Analitik verinize bakın, tahmin etmeyin.
- Trafiğin ne kadarı hangi bölgeden? Çoğunluğa göre karar verin.
- Dış servisleriniz nerede? Ödeme sağlayıcınız uzaktaysa her işlem gecikir.
- Yasal gereklilik var mı? Bazı veriler belirli sınırlar içinde tutulmalı.
Üçüncü madde sıkça atlanır ve beklenmedik yavaşlıklar üretir: sunucunuz kullanıcılarınıza yakın olsa bile, her sipariş için uzak bir ödeme sağlayıcısına yapılan çağrı, o gecikmeyi işlem süresine ekler.
Yönlendirme: Mesafeden Daha Önemli
Coğrafi yakınlık, düşük gecikme garantisi değildir. Paketler düz bir çizgide gitmez; ağ yönlendirmesi belirleyicidir.
Gerçek dünyada karşılaşılan durumlar:
- Aynı şehirdeki iki nokta arasındaki trafik, başka bir ülkeden dolaşabilir
- İki sağlayıcı arasında doğrudan bağlantı yoksa trafik uzun yol izler
- Gün içinde yoğunluğa göre yol değişebilir
Bu yüzden lokasyon değerlendirmesi haritaya bakarak yapılmaz: hedef kullanıcı ağlarından gerçek ölçüm yapmak gerekir.
Sağlayıcıya sorulacak sorular:
- Hangi omurga sağlayıcılarla bağlantınız var?
- Yerel değişim noktalarına bağlı mısınız?
- Türkiye içi trafik nasıl yönlendiriliyor?
- Test IP'si verebilir misiniz?
Dördüncü madde en pratik olanıdır: satın almadan önce o sağlayıcının bir adresine gecikme ölçümü yapın — hedef kullanıcı kitlenizin bulunduğu bağlantılardan.
Türkiye'deki kullanıcılara hizmet veriyorsanız yerel bir dedicated sunucu lokasyonu, yurt dışındaki güçlü bir donanımdan çoğu zaman daha iyi kullanıcı deneyimi üretir — çünkü gecikme, donanım gücünden daha belirleyicidir.
Gecikme Ölçümü
Doğru ölçüm için:
- Farklı ağlardan ölçün. Farklı internet sağlayıcıları farklı yollar kullanır.
- Farklı saatlerde ölçün. Yoğunluk gecikmeyi etkiler.
- Mobil bağlantıdan da ölçün. Mobil ağlarda gecikme daha yüksektir.
- Yol izleme yapın. Nerede takıldığını görün.
- Tek ölçüme güvenmeyin. Ortalama ve dalgalanma önemlidir.
Son madde önemli bir ayrımdır: ortalama gecikme düşük ama dalgalanma yüksekse, kullanıcı deneyimi tutarsız olur ve bu, sabit yüksek gecikmeden daha rahatsız edicidir.
Gecikmeyi Azaltmak
Sunucu lokasyonunu değiştirmeden yapılabilecekler:
CDN Kullanmak
En etkili çözümdür. Statik dosyalar kullanıcıya yakın noktalardan sunulur ve gecikme büyük ölçüde ortadan kalkar.
Sınırı: dinamik içerik yine ana sunucudan gelir. Ancak modern dağıtım ağları dinamik istekleri de optimize edilmiş yollardan taşıyabilir.
İstek Sayısını Azaltmak
Her istek bir gidiş-dönüş demektir. Dosyaları birleştirmek, gereksiz istekleri kaldırmak doğrudan gecikme kazancı sağlar.
Bağlantı Yeniden Kullanımı
Modern protokoller, tek bağlantı üzerinden birden fazla istek taşır. Bu, bağlantı kurma maliyetini bir kez ödemenizi sağlar.
Sunucunuzun güncel protokolleri desteklediğinden emin olun — bu, uzak kullanıcılar için belirgin fark yaratır.
Ön Yükleme İpuçları
Tarayıcıya, hangi kaynakları önceden hazırlaması gerektiğini bildirebilirsiniz. Ad çözümleme ve bağlantı kurma işlemleri erken başlar.
Dış Servis Çağrılarını Arka Plana Almak
Sayfa üretimi sırasında yapılan uzak çağrılar, o gecikmeyi doğrudan sayfa süresine ekler. Bu çağrıları kuyruğa taşımak veya sonuçlarını önbelleğe almak gerekir.
Çoklu Lokasyon
Gerçekten küresel bir kitleniz varsa, tek lokasyon yeterli olmayabilir. Seçenekler:
| Yaklaşım | Karmaşıklık |
|---|---|
| Tek sunucu + CDN | Düşük |
| Bölgesel salt okuma kopyaları | Orta |
| Tam çoklu bölge mimarisi | Yüksek |
Birinci satır, çoğu site için yeterlidir ve doğru başlangıçtır. Çoklu bölge mimarisine geçmeden önce CDN ile ne kadar kazanç elde ettiğinizi ölçün — çoğu zaman ek karmaşıklığa gerek kalmaz.
İkinci satır, okuma ağırlıklı uygulamalarda iyi bir orta yoldur: veritabanının salt okunur kopyaları farklı bölgelerde tutulur, yazma işlemleri merkeze gider.
Sunucular Arası Gecikme
Çok sunuculu bir yapı kuruyorsanız, sunucular arasındaki gecikme de önemlidir:
- Uygulama ve veritabanı sunucusu arasındaki her sorgu gecikmeden etkilenir
- Bir sayfa yüzlerce sorgu yapıyorsa, küçük bir gecikme katlanır
- Senkron veri çoğaltmada her yazma işlemi bekler
İkinci madde ciddi bir tasarım kısıtı üretir: uygulama ve veritabanı sunucularını farklı lokasyonlara koymak neredeyse her zaman yanlıştır. Aynı kabinde, mümkünse aynı anahtara bağlı olmalıdırlar.
Sonuç
Lokasyon seçiminde belirleyici olan bant genişliği değil gecikmedir — çünkü bir web sayfası tek bir büyük dosya değil onlarca sıralı isteğin toplamıdır ve tek bir isteğin gecikmesi sayfa süresinde katlanır. Coğrafi yakınlık da yeterli bir ölçüt değildir: yönlendirme, mesafeden daha belirleyicidir. Bu yüzden satın almadan önce hedef kullanıcı ağlarınızdan gerçek ölçüm yapın. Ve çoklu bölge mimarisine geçmeden önce CDN ile ne kadar kazanç elde ettiğinizi ölçün — çoğu zaman yeterlidir.
Sıkça Sorulan Sorular (SSS)
Yüksek bant genişliği gecikmeyi telafi etmez mi?
Etmez. Bant genişliği birim zamanda taşınan veriyi, gecikme ise paketin gidiş-dönüş süresini ölçer. Bir web sayfası onlarca sıralı istekten oluşur ve her biri gecikmeden ayrı ayrı etkilenir — fiber hızında bir bağlantıda bile uzak sunucuya yapılan her istek aynı gecikmeyi yaşar.
Coğrafi olarak yakın sunucu her zaman hızlı mıdır?
Hayır. Paketler düz çizgide gitmez; ağ yönlendirmesi belirleyicidir. Aynı şehirdeki iki nokta arasındaki trafik başka bir ülkeden dolaşabilir. Bu yüzden lokasyon değerlendirmesini haritaya bakarak değil, hedef kullanıcı ağlarınızdan gerçek ölçüm yaparak yapın.
Sunucu lokasyonunu değiştiremiyorum, ne yapabilirim?
En etkili çözüm CDN kullanmaktır — statik dosyalar kullanıcıya yakın noktalardan sunulur. Ayrıca istek sayısını azaltın, güncel protokolleri destekleyin ve sayfa üretimi sırasında yapılan uzak servis çağrılarını arka plana taşıyın.
Uygulama ve veritabanı sunucusu farklı lokasyonlarda olabilir mi?
Neredeyse her zaman yanlış bir tercihtir. Bir sayfa yüzlerce veritabanı sorgusu yapabilir ve aralarındaki küçük bir gecikme bile katlanarak sayfa süresine yansır. Bu sunucular aynı kabinde, mümkünse aynı anahtara bağlı olmalıdır.