Bu yazının başlangıcında, müşterilerimizin vaka çalışmalarını paylaşmak istiyorum, ardından İlk Bayt’ın (TTFB) ne olduğunu, nelerin etkilediğini, bu problemi nasıl çözdüğümüzü ve bir SSS bölümünü ele alacağım. Amacım, herkesin yaptığı gibi WordPress sitelerinin TTFB’sini azaltmaya yönelik tipik ‘balık tutma’ önerileri sunmaktan ziyade, nasıl çözüm sunduğumuzu (balığı) açıklamak.
İlk Bayt (TTFB) Süresini Hızlandırma Vaka Çalışmaları
Vaka Çalışması 1: Listelist.com
Listelist, liste tabanlı makaleler ve liste içerikleri üreten bir Türk yayıncıdır. Site, 30.000’den fazla yazıya, aylık yaklaşık bir milyon kullanıcıya ve aylık 50-100 milyon web isteğine (web request) sahiptir. Bunun yanı sıra, WordPress yönetici alanını günlük olarak kullanan aktif içerik yazarlarına da sahiptir.
Listelist’in Globaliser Öncesi WordPress Yapılandırması:
2 Sunucu Kurulumu:
- 1 Web Sunucu:
- 32 Thread (vCPU) Xeon E5 – Enterprise SSD – 32GB RAM
- Cpanel + LiteSpeed Webserver + Redis Object Cache
- 1 MySQL Database Sunucu:
- 32 Thread (vCPU) Xeon E5 – Enterprise SSD – 32GB RAM
Ekran Görüntüsü Tarihi: 13 Ekim 2023
Bu Test / Ekran Görüntüsü Nedir?
Bu, Google’ın PageSpeed test aracının sonucudur. Herhangi bir web sitesini bu test aracına girerek test yapabilirsiniz. Ancak, bu ekran görüntüsü, web sitesi bir miktar trafik alıyorsa (genellikle günde en az 50 ziyaretçi), yukarıda gösterilen sonuçları gösterir. Bu, Google’ın siteyi ziyaret eden Google Chrome kullanıcılarından topladığı gerçek kullanıcı metriklerini içerir. Test, 28 günlük bir ortalamayı gösterir ve mobil ile masaüstü kullanıcıları için ve test edilen belirli URL ile genel site için farklı metrikler sağlar.
Yani bu, gerçek kullanıcıların web sitenizi ziyaretleri sırasında toplanan performans istatistikleridir.
Globaliser Cloud’a Taşındıktan Sonra:
Listelist’in WordPress Hız Performansı Değişiklikleri:
Metrik | Önce | Sonra | Azalma | Daha Hızlı |
TTFB | 1,3s | 0,4s | 69% | 223% |
LCP | 3,8s | 2,9s | 24% | 31% |
FCP | 2,1s | 1,2s | 43% | 75% |
FID | 120ms | 24ms | 80% | 400% |
INP | 356ms | 217ms | 39% | 64% |
Vaka Çalışması 2: Permolitboya.com.tr
1984 yılında Akçalı Boya tarafından kurulan Permolit Boya, 1986 yılında tanıttığı Türkiye’nin ilk tavan boyası dahil olmak üzere, yenilikçi ürünleriyle tanınan öncü bir boya markasıdır.
2017 yılında Akçalı Boya, İngiltere’ye açılarak Akçalı UK’yi kurdu ve WRX markasını piyasaya sürdü. Ürünleri 700’den fazla perakende satış noktasında bulunabilen WRX, İngiltere pazarında tanınan bir marka haline geldi.
Permolit Boya’nın Globaliser Öncesi WordPress Yapılandırması:
1 Sunuculu Yapı:
- AWS Lightsail 4 vCPU – 16 GB RAM – 320 GB SDD
- Nginx Web Server + Varnish Cache + MySQL DB Server
Permolit WordPress Performansı Globaliser Cloud Sonrası
Permolit Boya’nın WordPress Hız Değişiklikleri:
Metrik | Önce | Sonra | Azalış | Daha Hızlı |
TTFB | 1,7s | 0,4s | 76% | 325% |
LCP | 3,5s | 3s | 14% | 17% |
FCP | 2,5s | 1,5s | 43% | 66% |
INP | 188ms | 215ms | -14% | -12% |
İlk Bayt Süresi (TTFB) nedir?
İlk Bayt süresi (TTFB – time to first byte), internette bir istek başlattığınız an ile (örneğin bir linke tıkladığınızda veya tarayıcıya bir web sitesi adı yazdığınızda) tarayıcınızın ziyaret etmek istediğiniz web sitesinden ilk bilgi parçasını almaya başladığı ana kadar geçen süredir. Bunu, bir pizza sipariş edip teslimat görevlisinin kapınıza pizzayı getirmesi, ve ilk dilimi ısırmaya başlamanız için geçen süreyi ölçmeye benzetebilirsiniz.
WordPress TTFB’yi Gerçekten Ne Etkiler?
1. DNS Süresi
Bu, bir web sitesinin telefon numarasını aramaya benzer. Bu, bir arkadaşınızın iletişim bilgilerini almak için rehber yardım hattını aramaya benzer. Tarayıcınıza bir web sitesi adresi yazdığınızda, bilgisayarınız DNS (Alan Adı Sistemi) sunucusuna o web sitesinin sunucusunun IP adresini sağlaması için bir istek gönderir.
1.a. DNS Sunucu Konumu:
İsteği işleyen DNS sunucusu size fiziksel olarak uzaksa, bilgisayarınızın yanıtı alması daha uzun sürer.
Dünyanın diğer ucundaki bir rehber yardım hattını aramaya çalıştığınızı hayal edin—istek ve yanıtın gidip gelmesi daha fazla zaman alır.
1.b. DNS Sorgu Önbelleği:
Bilgisayarınız bir DNS sunucusundan web sitesinin IP adresini aldıktan sonra, bu bilgiyi geçici olarak önbellekte saklayabilir. Bu, aynı web sitesini bir sonraki ziyaretinizde bilgisayarınızın DNS sunucusuna tekrar sormasına gerek olmadığı anlamına gelir.
Bunu telefon numarasını adres defterinize yazmak gibi düşünün—numarayı bir kez kaydettikten sonra, rehber yardım hattını tekrar aramadan doğrudan arayabilirsiniz.
2. Ping Süresi
2.a.Network Latency (Ağ Gecikme Süresi)
Verilerin bilgisayarınız ile sunucu arasında gidip gelmesi için geçen sürenin neden olduğu gecikmedir.
Sunucu kullanıcıdan ne kadar uzakta olursa, verilerin gidip gelmesi o kadar uzun sürer. (Bazı durumlarda fiziki mesafe yerine ağların bir birine uzaklığı nedeniyle de gecikme olabilir)
Bu, bir arkadaşınıza mektup göndermeye benzer—arkadaşınız ne kadar uzakta yaşıyorsa, mektubun onlara ulaşması ve yanıtlarının geri gelmesi o kadar uzun sürer.
2.b. TCP El Sıkışması (handshake)
Herhangi bir veri alışverişi başlamadan önce, bilgisayar ve sunucu iletişim protokollerinde anlaşmak için “üçlü el sıkışması” gerçekleştirerek bir bağlantı kurar.
Ağ gecikmesi yüksekse (mesafe veya yönlendirme nedeniyle), bu el sıkışması daha uzun sürer.
Bunu bir oyuna başlamadan önce kuralları tartışmaya benzetebilirsiniz; uzun mesafeli iletişim kuruyorsanız, bu tartışma daha fazla zaman alır.
2.c. SSL Bağlantısı:
Güvenli bağlantılar (HTTPS) için, şifrelemeyi kurmak ve sunucunun kimliğini doğrulamak amacıyla ek bir “el sıkışması” gerçekleştirilir.
Bu adım, birden fazla gidiş-gelişli veri alışverişini içerir, dolayısıyla daha yüksek gecikme süresi bu işlemin daha uzun sürmesine neden olur.
Bu, karşılıklı güven ve güvenliği sağlamak için toplantı öncesinde el sıkışmaya benzer—bu ekstra adım, özellikle “el sıkışma” uzun bir mesafe boyunca gerçekleşmesi gerekiyorsa küçük bir gecikme ekler.
3. Sunucu Yanıt Süresi:
Bu, isteğiniz yapıldığında sunucunun ne kadar hızlı bir şekilde verileri iletmeye başladığını gösterir. Daha hızlı yanıt süreleri, WordPress sitenizin ziyaretçiler için daha çabuk yüklenmesi anlamına gelir.
3.a. Uygulama Performansı:
WordPress siteniz, çekirdek dosyalar, temalar ve eklentilerden oluşur. Verimli kodlama ve hafif tema/eklentiler daha az işlem anlamına gelirken, ağır veya kötü yazılmış olanlar, sunucunun neyi görüntüleyeceğini çözmesi gerektiği için işleri yavaşlatır.
3.b. Database Performansı:
WordPress, tüm içerik, ayarlar ve eklenti verilerini bir veritabanında saklar. Bir sayfa her talep edildiğinde, WordPress gerekli bilgileri almak ve sayfayı oluşturmak için veritabanı sorguları çalıştırır.
Bunlar, WordPress’in gönderileri, sayfaları, yorumları ve ayarları gibi içerikleri getirmek için veritabanına gönderdiği taleplerdir. Verimli sorgular, hızlı veri alımını sağlar ve bu da hızlı sayfa yükleme süreleri için gereklidir.
WordPress siteniz büyüdükçe—daha fazla gönderi, sayfa ve ayar eklendikçe—veritabanı daha büyük hale gelir. Bu durum, her sorgunun daha fazla veri arasında arama yapması gerektiğinden, veritabanı performansının yavaşlamasına neden olabilir. Ayrıca, veritabanında veri depolayan daha fazla eklenti yüklemek, sorgu sayısını artırabilir ve sisteme daha fazla yük bindirebilir.
Daha yavaş veritabanı sorguları, sitenizin yanıt sürelerini uzatabilir ve TTFB’yi artırabilir. Veritabanınızı optimize etmek (örneğin, gereksiz verileri azaltmak, sorgu verimliliğini artırmak) performansı önemli ölçüde geliştirebilir.
3.c. Önbellek
Önbellekleme, verilerin kopyalarını veya önceden oluşturulmuş içerik sürümlerini depolayarak web sitesi performansını hızlandıran bir tekniktir. WordPress’te, sunucu yanıt süresini azaltmaya ve sayfa yükleme hızlarını artırmaya yardımcı olan birkaç tür önbellekleme vardır:
• Derlenmiş Uygulama Kodu Önbellekleme (PHP Opcache):
Bu, PHP komut dosyalarının derlenmiş sürümlerini depolar, böylece sunucu her istek yapıldığında bunları yeniden işlemeye gerek duymaz. PHP kodunun yürütme süresini azaltarak sunucu yanıt sürelerini iyileştirir.
• Nesne Önbellekleme (Veritabanı):
Nesne önbellekleme, veritabanı sorgularının sonuçlarını (gönderiler, sayfalar ve seçenekler gibi) bellekte depolar, böylece sonraki isteklerin tekrar veritabanına gitmesine gerek kalmaz. Bu, özellikle sık değişmeyen dinamik içerikler için veri getirme süresini önemli ölçüde azaltır.
• Tam Sayfa Önbellekleme:
Bu, tüm web sayfasının (HTML) önceden oluşturulmuş tam bir sürümünü depolar, böylece kullanıcılara anında sunulabilir. Her ziyaret için sayfanın yeniden oluşturulmasına gerek kalmaz, bu da özellikle statik içerik için çok faydalıdır.
• Tarayıcı Önbellekleme:
Bu, belirli kaynakları (görseller, CSS ve JavaScript gibi) kullanıcının tarayıcısında depolar, böylece kullanıcı siteyi her ziyaret ettiğinde yeniden yüklenmeleri gerekmez. Aslında, statik dosya önbellekleme doğrudan WordPress sitenizin TTFB performansını etkilemez. Bunun yerine, tekrarlanan istekleri azaltarak sunucu üzerindeki yükü azaltır.
3.d. Sunucu Yükü:
Sunucu yükü, sunucunuzun herhangi bir zamanda üstlendiği iş miktarını ifade eder. Sunucu çok fazla istek veya görevle aşırı yüklendiğinde, yavaşlar ve bu durum İlk Baytın Süresini (TTFB) ve genel performansı etkiler.
Barındırma hizmetinizin kalitesi, sunucu yükünü yönetmede kritik bir rol oynar. Birçok barındırma sağlayıcısı, sınırsız trafik, disk, RAM ve CPU planları sunar, ancak bu planlar genellikle sunucunun kaldırabileceğinden daha fazla kaynak tahsis edilen “fazla satışa” yol açabilir. Planınız sınırsız kaynak vaat edebilir, ancak aynı sunucuyu paylaşan diğer müşteriler bu kaynakların orantısız bir miktarını tüketiyor olabilir ve bu durum, sizin web siteniz de dahil olmak üzere herkes için yavaşlamalara neden olabilir.
Sınırsız WordPress Hosting Hizmetlerini Anlamak:
Web siteleri, CPU, RAM, disk alanı ve ağ bant genişliği gibi sınırlı kaynaklara sahip fiziksel sunucularda barındırılır. Bu nedenle, barındırma sağlayıcınız sınırsız planlar sunsa bile, bu gerçekte mümkün değildir. Bunun yerine, genellikle birçok barındırma şirketinin konuya yönelik devlet düzenlemeleri veya sektör standartlarının eksikliği nedeniyle kullandığı bir pazarlama taktiğidir. Bir düşünün—hiçbir telefon veya PC üreticisinin sınırsız belleğe sahip bir cihaz sattığını gördünüz mü? Ya da bir otomobil şirketinin sınırsız oturma kapasitesine veya motor gücüne sahip bir araç sunduğunu?
Sunucu Kaynaklarından Fazlasını Satmak (Overselling)
Barındırmada fazla satış, barındırma sağlayıcılarının müşterilere sunucunun aslında kaldırabileceğinden daha fazla kaynak (CPU, RAM, disk alanı ve ağ kapasitesi gibi) tahsis ettiği bir uygulamayı ifade eder. Bu, tüm müşterilerin aynı anda tahsis edilen kaynakları kullanmayacağı varsayımına dayanır. Ancak, birçok web sitesi aynı kaynakları aynı anda kullanmaya çalıştığında, sunucu aşırı yüklenir ve bu da daha yavaş yanıt sürelerine, daha yüksek İlk Bayt Süresine (TTFB) ve azalan performansa yol açar.
Daha iyi anlamak için, sınırlı sayıda eğlence parkı aleti olan bir tema parkını düşünün. Aynı anda çok fazla ziyaretçi geldiğinde, uzun kuyruklar oluşur ve bu aletler herkesi aynı anda ağırlayamaz. Sonuç olarak, tüm ziyaretçiler için genel deneyim yavaşlar. Bu, fazla satışı yapılan bir barındırma sunucusunda olanlara benzer—çok fazla talep ve yetersiz kapasite.
Globaliser Nasıl Üstün Sonuçlar Elde Ediyor
Kendi bulut tabanlı sistemimizi WordPress ile entegre ederek, bulut altyapımızın her bit ve baytına kadar optimize ediyoruz. Özel olarak hız için tasarlanmış olan bulut tabanlı yazılımlarımız, üstün performans sağlar.
SSS
Sıkça Sorulan Sorular
TTFB ve Globaliser’in WordPress Bulut Barındırma Teklifi hakkında en sık sorulan sorulardan bazıları. Doğru cevabı bulamadınız mı? Bize Ulaşın
Çözümünüz tüm WordPress siteleri için işe yarıyor mu?
Evet. Lütfen bir girişim olduğumuzu ve ürünümüzün şu anda beta aşamasında olduğunu unutmayın. WordPress sitenizde özelleştirmeler varsa, lütfen ekibimizin sitenizi inceleyebilmesi için destek ekibimizle iletişime geçin. Esnek altyapımız sayesinde, müşterilerimizin karşılaştıkları sorunları kısa sürede çözüme ulaştırıyor ve hızlı çözümler sunabiliyoruz.
WooCommerce’i destekliyor musunuz?
WooCommerce siteleri için, yalnızca ön uç hızlandırmakla kalmayıp, aynı zamanda alışveriş sepeti gibi dinamik olarak oluşturulan sayfaların yanı sıra arka ucu da optimize eden ayrı bir hizmet sunuyoruz, böylece e-ticaret sitenizin verimli çalışmasını sağlıyoruz.
Bir WordPress eklentiniz var mı?
Evet, bir yılı aşkın süreyle yapılan başlangıç alfa test dönemi sonrasında, eklentimizi WordPress.org’da kullanıma sunduk. Ancak, eklenti yalnızca müşterilerimize yöneliktir.
Hangi Bulut Sağlayıcısını/Kullanıcıları kullanıyorsunuz?
AWS, Azure ve bölgesel ya da yerel sağlayıcılar dahil olmak üzere birden fazla bulut sağlayıcı kullanıyoruz. Sistemimizin gücü, bulut tabanlı teknolojiler konusundaki uzmanlığımızda yatmaktadır.
Globaliser’i kullanmak için barındırma sağlayıcımı değiştirmem gerekiyor mu?
Evet.
TTFB’nin sitenizde bir sorun olup olmadığını nasıl anlayabilirim?
Sonuç 400ms (0.4s) üzerine çıkıyorsa, optimize etme zamanı gelmiştir. Sitenizin ilk bayt süresini, yani TTFB’yi ölçmek için çeşitli araçlar kullanabilirsiniz.
- WebPageTest
- Google PageSpeed: Ortalama günlük 50’den fazla ziyaretçiye sahip siteler için, yukarıdaki ekran görüntülerine benzer şekilde, gerçek zamanlı sonuçların ötesine geçen bilgiler sunarak 28 günlük bir genel bakış sağlar.
- SpeedVital: Dünya genelindeki çeşitli konumlardan TTFB kontrolleri gerçekleştirir.
- CheckHost: Sadece TTFB’yi değil, dünya genelindeki çeşitli konumlardan tam HTTP yanıt süresini ölçer.
Globaliser, yalnızca bir bölgede değil, global olarak performansı artırmaya yardımcı olabilir mi?
Evet, altyapımız uluslararası olarak hızlı yanıt süreleri sağlamak üzere tasarlanmıştır. 20’den fazla yerel (Edge) konumumuz bulunmakta ve hem yerel hem de global planlar sunmaktayız. Hedeflediğiniz konumlar şu an kapsanmıyorsa, lütfen bizimle iletişime geçin—yeterli talep olması durumunda kapsamımızı genişletmeye kararlıyız.
Bir CDN, web sitemin TTFB’sini azaltabilir mi?
Geleneksel bir CDN, TTFB üzerinde fazla etkili değildir çünkü tam sayfayı önbelleğe almaz. Bunun yerine, yalnızca JavaScript, CSS ve görseller gibi statik dosyaları önbelleğe alır ve bu, yalnızca belirli bir konumdan yapılan ikinci ziyaret için geçerlidir. CDN’nin önbelleği ziyaretçinin konumuna göre doldurulur, ancak bu, önbelleğin tüm konumlarda mevcut olacağı anlamına gelmez. Yani, TTFB’yi azaltmak için bir CDN kullanma konusunda bir sihir yoktur. Bazı CDN sağlayıcıları ek ürünler sunabilir, ancak bunları dikkatlice incelemek ve test etmek en iyisidir.
Fazla satış ve sınırsız planlar, sunucu performansını ve TTFB’yi nasıl etkiler?
Fazla satış, barındırma sağlayıcılarının sunucularının kaldıramayacağı kadar çok kaynak tahsis ettiğinde meydana gelir, bu da sistemlerin aşırı yüklenmesine ve daha yavaş TTFB’ye yol açar. Globaliser, optimal performansı sağlamak için katı kaynak tahsisini sürdürerek fazla satışı ve sınırsız planları önler.
Globaliser ile ne tür sonuçlar bekleyebilirim?
Müşterilerimizin birçoğu, TTFB’de önemli düşüşler gördü ve bazıları %50’den fazla iyileşme yaşadı. Diğerlerine daha hızlı performans elde etmelerinde nasıl yardımcı olduğumuzu keşfetmek için vaka çalışmalarımızı ve referanslarımızı inceleyin.