Kullanıcı merkezli performans metrikleri (ölçüm standartlarını), sitenizin deneyimini gerçek kullanıcılara fayda sağlayacak şekilde anlamak ve iyileştirmek için kritik bir araçtır. Bu yazının orijinalini görmek için bu adrese gidiniz.
Kullanıcı merkezli performans metrikleri
Hepimiz performansın ne kadar önemli olduğunu duymuşuzdur.
Ancak performanstan ve web sitelerini “hızlı” yapmaktan bahsettiğimizde, özellikle neyi kastediyoruz?
Gerçek şu ki performans görecelidir:
- Bir site bir kullanıcı için hızlı (güçlü bir cihaza sahip hızlı bir ağda) ancak başka bir kullanıcı için yavaş olabilir (düşük kaliteli bir cihazla yavaş bir ağda).
- İki site tam olarak aynı sürede yüklemeyi bitirebilir, ancak biri daha hızlı yükleniyor gibi görünebilir (herhangi bir şeyi görüntülemek için sonuna kadar beklemek yerine içeriği aşamalı olarak yüklerse).
- Bir site hızlı yükleniyor gibi görünebilir ancak daha sonra kullanıcı etkileşimine yavaş yanıt verebilir (veya hiç yanıt vermeyebilir).
Dolayısıyla performans hakkında konuşurken, kesin olmak ve performansı nicel olarak ölçülebilen nesnel kriterler açısından ifade etmek önemlidir. Bu kriterler ölçüm standartları (metrikler) olarak bilinir.
Ancak bir metrik, nesnel kriterlere dayandığı ve nicel olarak ölçülebildiği için, bu ölçümlerin mutlaka yararlı olduğu anlamına gelmez.
Metrikleri tanımlama
Geçmişte, web performansı yükleme olayıyla ölçülüyordu. Bununla birlikte, yük bir sayfanın yaşam döngüsünde iyi tanımlanmış bir an olsa da bu anın kullanıcının ilgilendiği herhangi bir şeye karşılık gelmesi gerekmez.
Örneğin, bir sunucu hemen “yüklenen” ancak daha sonra içerik getirmeyi ve sayfadaki herhangi bir şeyi görüntülemeyi yükleme olayının tetiklenmesinden birkaç saniye sonrasına kadar erteleyen bir sayfayla yanıt verebilir. Böyle bir sayfa teknik olarak hızlı bir yükleme süresine sahip olsa da bu süre bir kullanıcının sayfanın yüklenmesini gerçekte nasıl deneyimlediğine karşılık gelmeyecektir.
Son birkaç yıldır, Chrome ekibinin üyeleri, W3C Web Performansı Çalışma Grubu ile iş birliği içinde, kullanıcıların bir web sayfasının performansını nasıl deneyimlediğini daha doğru bir şekilde ölçen bir dizi yeni API ve metriği standartlaştırmak için çalışıyorlar.
Metriklerin kullanıcılarla alakalı olmasını sağlamaya yardımcı olmak için, bunları birkaç temel soru etrafında çerçevelendiriyoruz:
Gerçekleşiyor mu?
Gezinme (Navigasyon) başarıyla başladı mı? Sunucu yanıt verdi mi?
Faydalı mı?
Kullanıcıların etkileşime girebileceği kadar yeterli içerik oluşturuldu mu?
Kullanılabilir mi?
Kullanıcılar sayfayla etkileşime girebilir mi yoksa meşgul mü?
Keyifli mi?
Etkileşimler sorunsuz ve doğal mı, gecikme ve sarsıntı içermiyor mu?
Metrikler nasıl ölçülür?
Performans ölçümleri genellikle iki yoldan biriyle ölçülür:
- Laboratuvarda: tutarlı, kontrollü bir ortamda bir sayfa yüklemesini simüle etmek için araçlar kullanmak
- Sahada: sayfayı fiilen yükleyen ve onunla etkileşim kuran gerçek kullanıcılar
Bu seçeneklerin hiçbiri diğerinden daha iyi ya da daha kötü değildir- aslında iyi performans sağlamak için genellikle her ikisini birden kullanmak istersiniz.
Laboratuvarda:
Yeni özellikler geliştirirken performansı laboratuvarda test etmek çok önemlidir.
Özellikler üretimde piyasaya sürülmeden önce, performans özelliklerini gerçek kullanıcılar üzerinde ölçmek imkansızdır, bu nedenle özellik yayınlanmadan önce bunları laboratuvarda test etmek, performans gerilemelerini önlemenin en iyi yoludur.
Sahada:
Öte yandan, laboratuvarda test etmek performans için makul bir vekil olsa da tüm kullanıcıların sitenizi gerçek dünyada (vahşi ortamda) nasıl deneyimlediğini yansıtması gerekmez.
Bir sitenin performansı, bir kullanıcının cihaz özelliklerine ve ağ koşullarına bağlı olarak önemli ölçüde değişebilir.
Ayrıca, bir kullanıcının sayfayla etkileşime girip girmediğine (veya nasıl olduğuna) bağlı olarak da değişebilir.
Ayrıca, sayfa yüklemeleri belirleyici olmayabilir.
Örneğin, kişiselleştirilmiş içerik veya reklam yükleyen siteler, kullanıcıdan kullanıcıya çok farklı performans özellikleri yaşayabilir. Bir laboratuvar testi bu farklılıkları yakalayamaz.
Sitenizin kullanıcılarınız için nasıl bir performans sergilediğini gerçekten bilmenin tek yolu, bu kullanıcılar sitenizi yüklerken ve etkileşimde bulunurken gerçekte performansını ölçmektir. Bu ölçüm türü genellikle Gerçek Kullanıcı İzleme veya kısaca RUM (İngilizce: real user monitoring) olarak adlandırılır.
Metrik türleri
Kullanıcıların performansı nasıl algıladıklarına ilişkin birkaç başka metrik türü vardır.
- Algılanan yükleme hızı: Bir sayfanın tüm görsel öğelerini ne kadar hızlı yükleyebileceği ve ekrana yansıtabileceği.
- Yükleme yanıt hızı: bileşenlerin kullanıcı etkileşimine hızlı bir şekilde yanıt vermesi için bir sayfanın gerekli JavaScript kodunu ne kadar hızlı yükleyip çalıştırabileceği
- Çalışma zamanı duyarlılığı: sayfa yüklendikten sonra, sayfanın kullanıcı etkileşimine ne kadar hızlı yanıt verebileceği.
- Görsel kararlılık: sayfadaki öğeler, kullanıcıların beklemediği ve potansiyel olarak etkileşimlerine müdahale edecek şekilde değişiyor mu?
- Akıcılık: Geçişler ve animasyonlar tutarlı bir kare hızında oluşturulur ve bir durumdan diğerine akıcı bir şekilde akar mı?
Yukarıdaki tüm performans metrik türleri göz önüne alındığında, umarız ki, tek bir metriğin bir sayfanın tüm performans özelliklerini yakalamak için yeterli olmadığı açıktır.
Ölçülecek önemli metrikler
İlk zengin içerikli boyama (FCP): sayfanın yüklenmeye başladığı andan sayfa içeriğinin herhangi bir kısmının ekranda görüntülendiği ana kadar geçen süreyi ölçer. (laboratuvar, saha)
En büyük zengin içerikli boyama (LCP): Sayfanın yüklenmeye başladığı andan ekranda en büyük metin bloğunun veya resim öğesinin oluşturulduğu ana kadar geçen süreyi ölçer. (laboratuvar, saha)
İlk giriş gecikmesi (FID): bir kullanıcının sitenizle ilk etkileşim kurduğu zamandan (yani bir bağlantıya tıkladığında, bir düğmeye dokunduğunda veya özel, JavaScript destekli bir denetim kullandığında) tarayıcının bu etkileşime gerçekten cevap vermesinin mümkün olması için geçen süreyi ölçer. (alan)
Etkileşime Hazır Olma Süresi (TTI): sayfanın yüklenmeye başladığı andan görsel olarak oluşturulduğu, ilk komut dosyalarının (varsa) yüklendiğine kadar geçen süreyi ölçer ve kullanıcı girdisine hızlı bir şekilde güvenilir bir şekilde yanıt verebilir. (laboratuvar)
Toplam engelleme süresi (TBT): Ana iş parçacığının, giriş yanıt vermesini engelleyecek kadar uzun süre engellendiği FCP ile TTI arasındaki toplam süreyi ölçer. (laboratuvar)
Kümülatif düzen kayması (CLS): sayfanın yüklenmeye başlamasıyla yaşam döngüsü durumunun gizli olarak değişmesi arasında meydana gelen tüm beklenmedik düzen kaymalarının kümülatif puanını ölçer. (laboratuvar, alan)
Bu liste, performansın kullanıcılarla ilgili çeşitli yönlerinin birçoğunu ölçen metrikleri içerse de her şeyi içermez (örneğin, çalışma zamanı duyarlılığı ve akıcılık şu anda kapsanmamıştır).
Bazı durumlarda, eksik alanları kapsayacak şekilde yeni metrikler sunulacaktır, ancak diğer durumlarda en iyi ölçüm standartları (metrikler), sitenize özel olarak uyarlanmış olanlardır.
Özel metrikler
Yukarıda listelenen performans ölçümleri, web’deki çoğu sitenin performans özelliklerini genel olarak anlamak için iyidir. Ayrıca, sitelerin performanslarını rakipleriyle karşılaştırmaları için ortak bir metrik kümesine sahip olmak için de iyidirler.
Bununla birlikte, belirli bir sitenin bir şekilde benzersiz olduğu ve tam performans resmini yakalamak için ek ölçütler gerektiren zamanlar olabilir. Örneğin, LCP ölçüsü, bir sayfanın ana içeriğinin ne zaman yüklenmesinin bittiğini ölçmek için tasarlanmıştır, ancak en büyük öğenin sayfanın ana içeriğinin bir parçası olmadığı ve dolayısıyla LCP’nin alakalı olmadığı durumlar olabilir.
Bu tür durumları ele almak için, Web Performansı Çalışma Grubu, kendi özel ölçümlerinizi uygulamak için yararlı olabilecek daha düşük seviyeli API’leri de standartlaştırmıştır.
Tabii çoğu web sitesi ve iş sahibi için yukarıda belirttiğimiz 6 tane standart metrik fazlasıyla yeterlidir, özel metrikleri kullanmalarına gerek yoktur.
Siz de fikrinizi belirtin