Performans Test Araçları

WebPageTest mi Lighthouse mu?

Yerel otomasyon aracını ve uzak gerçek tarayıcı test düğümünü karşılaştıran; filmstrip zaman çizelgesi ve waterfall istek katmanlarını gösteren teknik diyagram

Bir performans sorununun kaynağını bulmaya çalışırken iki araç sürekli karşınıza çıkar: Lighthouse ve WebPageTest. İkisi de sayfanızı yükler, metrikler üretir ve iyileştirme fırsatları işaret eder. Ama birinin yüksek puan verdiği sayfada diğeri farklı ve daha derin sorunları görünür kılıyor olabilir. Bu fark bir tutarsızlık değildir; iki aracın yapısal olarak farklı şeyleri ölçmesinin kaçınılmaz sonucudur.

Lighthouse hız odaklı bir laboratuvar aracıdır: sabit koşullar altında, kontrollü bir ortamda çalışır ve tekrarlanabilir bir puan üretir. WebPageTest ise teşhis odaklı bir araçtır: gerçek tarayıcılar üzerinde, seçtiğiniz lokasyondan ve bağlantı profilinden çalışır ve sayfanın nasıl yüklendiğini adım adım gösterir. Her ikisi de değerlidir, ama farklı sorulara yanıt verir.

Hangi aracı ne zaman kullanacağınızı bilmek, birini diğerine kalıcı olarak tercih etmekten çok daha işlevsel bir çerçeve sunar. İki araç rakip değil, tamamlayıcıdır. Bunu anlamak için önce her birinin nasıl çalıştığını kavramak gerekir.

Lighthouse'un çalışma biçimi: kontrollü, tekrarlanabilir ölçüm

Lighthouse bir Chrome tarayıcı uzantısı ya da komut satırı aracı olarak çalışır; PageSpeed Insights ve Chrome DevTools aracılığıyla da erişilebilir. Sayfayı belirli bir CPU kısıtlaması ve ağ profili altında yükler, metrikleri kaydeder ve 0–100 arası bir performans puanı üretir. Her test aynı koşullarda gerçekleşir; bu tekrarlanabilirlik Lighthouse'un temel gücüdür.

Karşılaştırma ve gerileme tespiti için bu tekrarlanabilirlik kritiktir. "Bu değişiklik LCP'yi iyileştirdi mi?" sorusuna yanıt vermek için aynı sayfa iki farklı koşulda test edilir; Lighthouse bu karşılaştırmayı mümkün kılar. Değişkenler kontrol altındadır; puan farkı müdahalenin etkisini gösterir. Ama bu kontrol ortamı aynı zamanda Lighthouse'un sınırını da çizer: gerçek kullanıcıların ağ koşullarını, cihaz çeşitliliğini ve etkileşim davranışlarını yansıtmaz.

WebPageTest'in çalışma biçimi: gerçek tarayıcı, gerçek ağ

WebPageTest gerçek bir tarayıcı üzerinde çalışır. Dünya genelinde farklı veri merkezlerinde konumlanmış gerçek makineler — ya da konfigüre edilmişse gerçek mobil cihazlar — seçtiğiniz lokasyondan ve bağlantı profilinden sayfanızı gerçekten yükler. Simüle edilmiş bir ağ profili değil, gerçek bir bağlantı kullanılır.

Bu fark pratikte şu anlama gelir: Lighthouse'un hesapladığı TTFB değeri ile WebPageTest'in ölçtüğü TTFB değeri farklı yollardan gelir. WebPageTest'in TTFB'si o lokasyondaki gerçek bir istemcinin deneyimini yansıtır; CDN'nin o noktadaki gecikme performansını, gerçek DNS çözümleme süresini ve TCP bağlantı kurma maliyetini içerir. Bu veri, altyapı kararlarını desteklemek ve coğrafi etkiyi anlamak için çok daha bilgilendiricidir.

Çoklu lokasyon testi ve coğrafi farkı görmek

WebPageTest'in belirgin özelliklerinden biri sayfayı farklı coğrafi lokasyonlardan test edebilmektir. İstanbul, Frankfurt, Virginia, Singapur — aynı sayfa her lokasyondan ayrı ayrı test edilebilir. Bu test, CDN'nin hangi bölgede iyi performans gösterdiğini ve hangisinde yetersiz kaldığını somut verilerle ortaya koyar.

Lighthouse bu testi yapamaz; tek bir makinede çalışır ve lokasyon farkını ölçemez. Bir sitenin belirli bir ülkedeki kullanıcılara ne kadar hızlı ulaştığını anlamak için Lighthouse yeterli değildir. WebPageTest, seçilen lokasyondan gerçek istek yaparak o kullanıcının TTFB ve yükleme deneyimini ölçer. CDN kapsama alanını değerlendirmek ya da origin sunucusunun coğrafi etkisini anlamak bu araçla mümkün olur.

Filmstrip: yükleme sürecini kare kare görmek

WebPageTest'in en güçlü teşhis özelliklerinden biri filmstrip görünümüdür. Sayfa yüklenirken ekranın nasıl ilerlediği, kısa aralıklarla yakalanan ekran görüntüleri dizisi olarak gösterilir. İlk içerik ne zaman göründü, büyük görsel ne zaman tamamlandı, hangi anda kullanıcıya kullanılabilir bir ekran sunuldu — tüm bunlar görsel olarak izlenebilir.

Bu görünüm özellikle LCP adayını doğrulamak için değerlidir. Bazen metriklerde LCP olarak işaretlenen element, görsel olarak kritik içerik değildir; ya da beklenenin çok gerisinde yüklenir. Filmstrip bu farkı netleştirir. Render blocking kaynaklar nedeniyle uzun süre beyaz kalan bir ekran, filmstrip'te hemen görünür olur ve sorunun boyutunu sayısal metriklerden çok daha doğrudan aktarır.

Waterfall görünümü ve istek zinciri analizi

WebPageTest'in waterfall görünümü, sayfanın yüklediği her kaynağı zaman çizelgesinde gösterir. Her isteğin ne zaman başladığı, DNS çözümleme süresi, bağlantı kurma süresi, bekleme süresi ve içerik indirme süresi ayrı ayrı görünür. İstek zinciri — bir kaynağın başka bir kaynağı tetiklemesi — de bu görünümde takip edilebilir.

Bu analiz, "render blocking kaynaklar" gibi genel uyarıların arkasındaki gerçek mekanizmayı açığa çıkarır. Hangi script hangi ağ isteğini tetikledi, bu istek ne kadar sürdü, zincirin hangi halkasında en büyük gecikme yaşandı — waterfall bu soruları yanıtlar. Özellikle üçüncü taraf kaynaklardaki gecikme zincirleri ve önceliklendirme sorunları, waterfall olmadan tespit edilmesi güç sorunlardır.

Start Render, Visually Complete ve Speed Index

WebPageTest birkaç ölçüm noktasını standart araçların ötesinde ayrıntılı biçimde raporlar. Start Render, ekranda herhangi bir pikselin ilk göründüğü andır; Lighthouse'un FCP'sine benzer ama aynı şeyi ölçmez. Visually Complete, ekranın görsel olarak tamamen stabil hale geldiği andır. Speed Index ise görsel ilerlemenin ne kadar hızlı olduğunu ölçer ve yükleme sürecinin tamamı boyunca görsel tamamlanma yüzdesini entegre eder.

Bu metrikler birlikte okunduğunda, sayfanın "hızlı görünüp görünmediği" sorusuna somut bir yanıt verir. Bir sayfa hızlı bir LCP değerine sahip olabilir ama görsel kararlılığa çok sonra ulaşabilir; bu durumda Visually Complete ile LCP arasındaki açık, kullanıcının gerçekte beklediği süreyi temsil eder. WebPageTest bu nüansı görmezden gelmez ve her iki noktayı da ayrı ayrı raporlar.

Lighthouse'un CI/CD entegrasyonundaki avantajı

Lighthouse komut satırından çalıştırılabilir, API üzerinden erişilebilir ve CI/CD süreçlerine entegre edilebilir. Her kod değişikliğinde otomatik olarak çalışan bir Lighthouse testi, performans gerilemeyi dağıtım öncesinde yakalar. Bu otomasyon WebPageTest için çok daha karmaşıktır; gerçek tarayıcı üzerinde uzak bir altyapıda test çalıştırmak ek konfigürasyon ve gecikme gerektirir.

Performans bütçesi uygulamaları bu nedenle çoğunlukla Lighthouse'a dayanır. Her PR için Lighthouse çalıştırıp LCP, TBT veya toplam JavaScript boyutunu eşik değerlerle karşılaştırmak, hızlı ve pratik bir kalite kapısı oluşturur. WebPageTest bu iş için yavaş ve ağırdır; derinlemesine teşhis için tasarlanmıştır, rutin dağıtım doğrulaması için değil.

Tekrarlanabilirlik ve gürültü sorunu

Her iki araçta da tekrarlayan testler her zaman aynı sonucu vermez. Lighthouse'ta birden fazla çalıştırma arasında birkaç puanlık varyasyon normal kabul edilir. WebPageTest'te ağ koşullarındaki gerçek değişkenlik — özellikle hücresel bağlantı profilleri seçilmişse — daha büyük sapmalar yaratabilir. Bu gürültüyü yönetmenin yolu her iki araçta da benzerdir: birden fazla çalıştırma yapıp ortanca değeri almak.

WebPageTest bu konuda yerleşik bir kolaylık sunar: aynı testi üç ya da beş kez çalıştırıp medyan sonucu seçme seçeneği doğrudan arayüzde sunulur. Lighthouse'ta bu işlemi manuel yapmak gerekir. Gürültü sorununu küçümsememek gerekir; tek bir test sonucuna dayanarak büyük kararlar vermek, tesadüfi bir varyasyonu optimizasyon fırsatı ya da gerileme olarak yorumlamaya yol açabilir.

WebPageTest'in güçlü olduğu senaryolar

Belirli sorular için WebPageTest açıkça üstündür. CDN'nin belirli bir bölgedeki etkinliğini ölçmek, TTFB'nin kaynağını coğrafi olarak izole etmek, yükleme sürecinin görsel ilerlemesini görmek ve istek zincirini adım adım analiz etmek bu kategoriye girer. Gerçek tarayıcı ve gerçek ağ kombinasyonu, simüle edilmiş ortamlarda görünmeyen davranışları yüzeye çıkarır.

Yavaş olduğunu bildiğiniz ama nedenini bulamadığınız sayfalarda waterfall ve filmstrip birlikte kullanıldığında sorunun kaynağı genellikle hızla görünür hale gelir. Belirli bir sunucu bölgesindeki TTFB'nin neden yüksek olduğunu, hangi üçüncü taraf kaynağın zinciri geciktirdiğini ya da sayfanın görsel olarak ne zaman kullanılabilir hale geldiğini anlamak için WebPageTest doğal başvuru noktasıdır.

Lighthouse'un güçlü olduğu senaryolar

Lighthouse otomasyon, karşılaştırma ve öneri odaklı çalışmalarda öne çıkar. İki farklı implementasyonun performansını karşılaştırmak için Lighthouse'un kontrollü ortamı idealdir. Gerileme tespiti — "bu değişiklik performansı düşürdü mü?" — Lighthouse'un sabit koşullarında çok daha güvenilir biçimde yanıtlanır. Lab ortamının kısıtlamalarını göz önünde bulundurarak bu karşılaştırmayı yorumlamak gerekir; ama karşılaştırma değeri gerçektir.

Waterfall ya da filmstrip ihtiyacı duymadan hızlı bir ön değerlendirme yapmak için Lighthouse çok daha pratiktir. Bir sayfada hangi alanlara odaklanılması gerektiğini anlamak için Lighthouse'un ürettiği açıklamalı öneri listesi, WebPageTest'in ham verilerinden çok daha erişilebilir bir başlangıç noktası sunar. İlk temas noktası olarak Lighthouse, ardından derinlemesine analiz için WebPageTest mantıklı bir sıralama olabilir.

Hangi soruyu hangi araçla sormak gerekir

İki araç arasındaki seçim büyük ölçüde soruya bağlıdır. "Bu değişiklik LCP'yi iyileştirdi mi?" için Lighthouse daha uygun bir ortam sunar; kontrollü karşılaştırma mümkündür. "Neden belirli bir ülkedeki kullanıcılarımızın TTFB'si bu kadar yüksek?" için WebPageTest doğru araçtır; gerçek lokasyon ve gerçek ağ verisi olmadan bu soruya güvenilir yanıt verilemez.

Benzer biçimde, "CI pipeline'ımızda performans gerilemeyi nasıl yakalarım?" sorusu Lighthouse'u, "hangi istek zinciri yüklemeyi en çok geciktiriyor?" sorusu ise WebPageTest'i işaret eder. Bu ayrım mutlak değildir; bazı sorular her iki araçla da yanıtlanabilir. Ama soruyu önceden netleştirmek araç seçimini kolaylaştırır ve gereksiz analiz yükünü azaltır.

İki aracı birlikte kullanmak

En sağlıklı yaklaşım iki aracı birbirini tamamlar biçimde kullanmaktır. Lighthouse rutin testlerin ve CI/CD entegrasyonunun aracıdır: hızlı, tekrarlanabilir ve karşılaştırılabilir. WebPageTest derinlemesine teşhisin aracıdır: gerçek, lokasyon bağımlı ve görsel olarak zengin. Birinin eksik kaldığı yerde diğeri devreye girer.

Tipik bir iş akışı şöyle işleyebilir: Lighthouse ile sorunlu metrikler tespit edilir. O sayfa WebPageTest üzerinde birden fazla lokasyondan test edilir. Filmstrip ve waterfall görünümleriyle sorunun kaynağı belirlenir. Çözüm uygulanır ve Lighthouse ile sonuç doğrulanır. Dağıtım sonrası alan verisi ile uzun vadeli etki izlenir. Bu döngü iki aracın güçlü yönlerini bir araya getirir; biri diğerinin yerine geçmez.

Lighthouse ve WebPageTest'i karşılaştırmak, hangisinin "daha iyi" olduğunu bulmak için yapılacak bir egzersiz değildir. Doğru soru şudur: hangi araç elinizdeki soruya daha doğrudan yanıt verir? Otomasyon, tutarlılık ve hız için Lighthouse; gerçeklik, coğrafi çeşitlilik ve görsel analiz için WebPageTest.

Waterfall görünümü olmadan uzun bir istek zincirini izole etmek güçtür. Filmstrip olmadan LCP adayını görsel olarak doğrulamak çoğu zaman yanıltıcı olur. Öte yandan her dağıtımda WebPageTest çalıştırmak pratik değildir ve gerekli de değildir. Lighthouse bu boşluğu doldurur.

Her iki araç da lab ortamında çalışır; ikisi de gerçek kullanıcı deneyiminin yerini tutamaz. Gerçek kullanıcı verisini alan ölçümleri ve CrUX sağlar. Lighthouse ve WebPageTest, sorunun kaynağını bulmak için başvurulan teşhis araçlarıdır. Ne zaman hangisine başvuracağınızı bilmek, performans çalışmasını hem daha hızlı hem de daha güvenilir kılar.