Burada web sayfamızı hızlandırma konusunda bazı ipuçları vermiştik , herşeyi yaptınız ama hernedense sayfanızın yüklenme süresi bir türlü kısalmadı , bu durumda ilgili yazımızın son satırında bahsettiğimiz Shared
Tarayıcılar servere bağlandığında belirli adımları gerçekleştirmek zorundadırlar bunlar :
- DNS Lookup (Dns sorgusu)
- Initial Connection (ilk bağlantı)
- Waiting (Bekleme)
- Receiving Data (Veri almaya başlama)
- Closing Connection (Bağlantının sonlandırılması)
işte bir web sayfasının görüntülenmesi sırasında üsttekiler gerçekleşir , ve bunların birinde veya birkaçındaki aksaklık sayfa görüntülene kadarki geçen süreyi arttırır , Kısacası Time to First Byte (TTFB) ; Taryıcının serverden bilgi almaya başlamasına kadar geçen bekleme süredir , bazı durumlarda sayfanın yüklenme süresinin %75 ini serverden bu cevap bekleme süresi oluşturuyor. Bunu nasıl ölçerim diyorsanız aşağıdaki online analiz sayfasını kullanabilirsiniz:
Byte Check
Bu sürenin genellikle 1 sn nin altında olması arzu edilir , eğer iyi olarak adlandırılacakl bir TTFB istiyorsanız süre : 100 milliseconds (ms) veya altında olmalıdır , fakat bu statik web sayfalarında olasıdır (html, images, css, ve javascript dosyaları içeren) sebebi serverin file cachesinden client e veri yollaması oldukça hızlı gerçekleşir , dinamik sayfalar (php , asp , cgi...) bu süreç daha yavaş işler ; 200-500ms arası normaldir , fakat genelde 1 sn nin altında olması da sorun teşkil etmez bunun sebebi dinamik sayfaların görüntülenme sürecinde yatar : örneğin Bir WordPress Bloğunu ele alalım , php scripti içerdiği belirli sayıda dosyayı açmak zorundadır , veri tabanı bağlantısı gerçekleştirir , ayrıştırma işlemi yapıp final HTML yi geri yollar bunların hepsi zaman alır . Peki Time to First Byte süresi neden yüksek olur :
- Birçok server bağlantı isteğini aldıktan sonra veri hazır olana kadar bunu tutar buda yavaşlamaya neden olur
- disk IO düşükse bir dosyayı açmak için serverde bekleme süresi artar bu durum hızlı disklerle çözülmek istenirse daha fazla RAM mutlaka kullanılmalıdır ki internal file cache daha fazla veriyi tutabilsin.
- Network Bottlenecks (Ağ Darboğazları) , Swap Usağe (swap kullanımı) , Apache (web server) konfigürasyonu ,PHP , MySQL , Network Ayarları
Kısacası Optimize edilmiş bir web sayfasının TTFB değerinin yüksekliği tamamen server kaynaklıdır ve muhtemelen server hardware/konfigürasyon limitine ulaşmıştır bunun sebeplerinden biri de Shared serverlarda hardware limitlerini zorlayan sayıda müşteri alımıdır