CrUX BigQuery veri kümesi nasıl kullanılır?

Chrome kullanıcı deneyimi raporunun (CrUX) ham verilerine, Google Cloud'daki bir veritabanı olan BigQuery'de erişilebilir. BigQuery'yi kullanmak için GCP projesi ve temel SQL bilgisi gerekir.

Bu kılavuzda, web'deki kullanıcı deneyimlerinin durumuyla ilgili bilgilendirici sonuçlar elde etmek amacıyla CrUX veri kümesine sorgu yazmak için BigQuery'yi nasıl kullanacağınızı öğrenin:

  • Verilerin nasıl düzenlendiğini anlama
  • Bir kaynağın performansını değerlendirmek için temel bir sorgu yazma
  • Zaman içindeki performansı izlemek için gelişmiş sorgu yazma

Veri düzenleme

Temel bir sorguya bakarak başlayın:

SELECT COUNT(DISTINCT origin) FROM `chrome-ux-report.all.202206`

Sorguyu çalıştırmak için sorgu düzenleyiciye girip "Sorguyu çalıştır" düğmesine basın. düğme:

Düzenleyiciye basit bir sorgu girin ve Çalıştır'a basın.

Bu sorgu iki bölümden oluşur:

  • SELECT COUNT(DISTINCT origin), tablodaki kaynak sayısının sorgulanması anlamına gelir. Özetle aynı şema, ana makine ve bağlantı noktasına sahip olan iki URL aynı kaynağın parçasıdır.

  • FROM chrome-ux-report.all.202206, üç bölümden oluşan kaynak tablonun adresini belirtir:

    • Tüm CrUX verilerinin organize edildiği chrome-ux-report adlı Cloud projesinin adı
    • Tüm ülkelerdeki verileri temsil eden all veri kümesi
    • 202206 tablosu, verilerin YYYYAA biçimindeki yılı ve ayı

Ayrıca her ülke için veri kümeleri vardır. Örneğin, chrome-ux-report.country_ca.202206 yalnızca Kanada'dan gelen kullanıcı deneyimi verilerini temsil eder.

Her veri kümesinde 201710'dan beri her ay için tablolar bulunur. Önceki takvim ayına ait yeni tablolar düzenli olarak yayınlanır.

Veri tablolarının yapısı (şema olarak da bilinir) şunları içerir:

  • Söz konusu web sitesindeki tüm sayfalar için toplu kullanıcı deneyimi dağılımını temsil eden kaynak (ör. origin = 'https://www.example.com')
  • Sayfa yükleme sırasındaki bağlantı hızı. Örneğin, effective_connection_type.name = '4G'
  • Cihaz türü (ör. form_factor.name = 'desktop')
  • Kullanıcı deneyimi metriklerinin kendisi
    • ilk_boya (FP)
    • first_contentful_paint (FCP)
    • Large_contentful_paint (LCP)
    • dom_content_loaded (DCL)
    • onload (OL)
    • düzen_instability.kümülatif_layout_shift (CLS)
    • engagement_to_next_paint (INP)

Her metriğe ait veriler bir nesne dizisi olarak düzenlenir. JSON gösteriminde, first_contentful_paint.histogram.bin şuna benzer olacaktır:

[
    {"start": 0, "end": 100, "density": 0.1234},
    {"start": 100, "end": 200, "density": 0.0123},
    ...
]

Her bölmede, milisaniye cinsinden başlangıç ve bitiş zamanı ile bu zaman aralığındaki kullanıcı deneyimlerinin yüzdesini temsil eden bir yoğunluk bulunur. Başka bir deyişle, bu varsayımsal kaynak, bağlantı hızı ve cihaz türü için FCP deneyimlerinin% 12, 34'ü 100 ms'den az. Tüm kutu yoğunluklarının toplamı %100 olur.

BigQuery'deki tabloların yapısına göz atın.

Performans değerlendirme

Bu performans verilerini ayıklayan bir sorgu yazmak için tablo şemasıyla ilgili bilgilerimizi kullanabiliriz.

SELECT
  fcp
FROM
  `chrome-ux-report.all.202206`,
  UNNEST(first_contentful_paint.histogram.bin) AS fcp
WHERE
  origin = 'https://web.dev' AND
  effective_connection_type.name = '4G' AND
  form_factor.name = 'phone' AND
  fcp.start = 0

BigQuery'de CrUX FCP'yi sorgulama

Sonuç 0.01115 olur. Bu da bu kaynaktaki kullanıcı deneyimlerinin %1,115'inin 4G'de ve telefonda 0 ila 100 ms arasında olduğu anlamına gelir. Sorgumuzu tüm bağlantılara ve cihaz türlerine göre genelleştirmek isterseniz WHERE deyimini çıkarabilir ve SUM toplayıcı işlevini kullanarak ilgili bölme yoğunluklarını toplayabiliriz:

SELECT
  SUM(fcp.density)
FROM
  `chrome-ux-report.all.202206`,
  UNNEST(first_contentful_paint.histogram.bin) AS fcp
WHERE
  origin = 'https://web.dev' AND
  fcp.start = 0

BigQuery'de CrUX FCP'yi toplama

Sonuç, 0.05355 yani tüm cihazlarda ve bağlantı türlerinde% 5,355'tir. Sorguyu biraz değiştirebilir ve "hızlı" olan tüm bölmelerin yoğunluğunu ekleyebiliriz. 0-1.000 ms FCP aralığı:

SELECT
  SUM(fcp.density) AS fast_fcp
FROM
  `chrome-ux-report.all.202206`,
  UNNEST(first_contentful_paint.histogram.bin) AS fcp
WHERE
  origin = 'https://web.dev' AND
  fcp.start < 1000

BigQuery&#39;de hızlı FCP&#39;yi sorgulama

Bu bize 0.6977 kazandırıyor. Başka bir deyişle, web.dev'deki FCP kullanıcı deneyimlerinin% 69,77'si "hızlı" olarak kabul edilir. uygun olduğunu unutmayın.

Performansı izleme

Bir kaynakla ilgili performans verilerini ayıkladık. Artık bu verileri eski tablolardaki geçmiş verilerle karşılaştırabiliriz. Bunu yapmak için, tablo adresini önceki bir aya yeniden yazabilir veya tüm ayları sorgulamak için joker karakter söz dizimini kullanabiliriz:

SELECT
  _TABLE_SUFFIX AS yyyymm,
  SUM(fcp.density) AS fast_fcp
FROM
  `chrome-ux-report.all.*`,
  UNNEST(first_contentful_paint.histogram.bin) AS fcp
WHERE
  origin = 'https://web.dev' AND
  fcp.start < 1000
GROUP BY
  yyyymm
ORDER BY
  yyyymm DESC

BigQuery&#39;de CrUX FCP&#39;nin zaman serisini sorgulama

Burada, hızlı FCP deneyimlerinin yüzdesinin her ay birkaç yüzde puanı oranında değiştiğini görüyoruz.

yyyyaa fast_fcp
202206 %69,77
202205 %70,71
202204 %69,04
202203 %69,82
202202 %67,75
202201 %58,96
202112 %41,69
... ...

Bu tekniklerle bir kaynağın performansını arayabilir, hızlı deneyimlerin yüzdesini hesaplayabilir ve zaman içinde izleyebilirsiniz. Sonraki adım olarak iki veya daha fazla kaynağı sorgulayıp performanslarını karşılaştırmayı deneyin.

SSS

CrUX BigQuery veri kümesiyle ilgili sık sorulan sorulardan bazıları aşağıda verilmiştir:

Diğer araçlar yerine BigQuery'yi ne zaman kullanmalıyım?

BigQuery yalnızca CrUX Kontrol Paneli ve PageSpeed Insights gibi diğer araçlardan aynı bilgileri alamadığınız durumlarda gereklidir. Örneğin, BigQuery, verileri anlamlı şekillerde dilimlemenize ve hatta bazı gelişmiş veri madenciliği yapmak için HTTP Arşivi gibi diğer herkese açık veri kümeleriyle birleştirmenize olanak tanır.

BigQuery'yi kullanmayla ilgili herhangi bir sınırlama var mı?

Evet, en önemli sınırlama, kullanıcıların varsayılan olarak ayda yalnızca 1 TB boyutunda veri sorgulayabilmesidir. Bunun ötesinde, standart 5 ABD doları/TB ücret geçerlidir.

BigQuery hakkında daha fazla bilgiyi nereden edinebilirim?

Daha fazla bilgi için BigQuery belgelerini inceleyin.