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

Chrome Kullanıcı Deneyimi Raporu'nun (CrUX) ham verileri, Google Cloud'daki bir veritabanı olan BigQuery'de mevcuttur. BigQuery'yi kullanmak için bir GCP projesi ve temel SQL bilgisi gerekir.

Bu kılavuzda, web'deki kullanıcı deneyimlerinin durumu hakkında 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 sorgu yazma
  • Zaman içindeki performansı izlemek için gelişmiş sorgu yazma

Veri organizasyonu

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 girin ve "Sorguyu çalıştır" düğmesine basın:

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

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

  • SELECT COUNT(DISTINCT origin), tablodaki kaynakların sayısının sorgulanması anlamına gelir. Özetle, aynı şema, ana makine ve bağlantı noktasına sahip 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 Cloud projesinin adı chrome-ux-report
    • Tüm ülkeler genelindeki 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, 2017'den beri her aya ait tablolar bulunur. Önceki takvim ayı için yeni tablolar düzenli olarak yayınlanır.

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

  • Kaynak (örneğin, origin = 'https://www.example.com'), web sitesindeki tüm sayfalar için toplam kullanıcı deneyimi dağılımını temsil eder.
  • 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
    • first_paint (FP) (ilk boyama)
    • first_contentful_paint (FCP)
    • dom_content_loaded (DCL)
    • yüklenme süresi (OL)
    • Experiment.first_input_delay (İGG)

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

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

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

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

Performans değerlendirme

Tablo şemasıyla ilgili bilgilerimizi, bu performans verilerini çıkaran bir sorgu yazmak için 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ç olarak 0.01115 elde edilir. Yani bu kaynaktaki kullanıcı deneyimlerinin% 1, 115'i 4G ve telefonda 0-100 ms. arasında gerçekleşir. Sorgumuzu herhangi bir bağlantıya ve herhangi bir cihaz türüne genelleştirmek istiyorsak bunları WHERE deyiminden çıkarabilir ve ilgili tüm bölme yoğunluklarını toplamak için SUM toplayıcı işlevini kullanabiliriz:

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ç olarak, 0.05355 veya tüm cihazlar ve bağlantı türlerinde% 5,355 elde edilir. Sorguda küçük değişiklikler yapabilir ve 0-1000 ms olan "hızlı" FCP aralığındaki tüm bölmelerin yoğunluklarını ekleyebiliriz:

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 sorgulama

Böylece 0.6977 elde ederiz. Başka bir deyişle, FCP aralık tanımına göre web.dev'deki FCP kullanıcı deneyimlerinin% 69,77'si "hızlı" olarak değerlendiriliyor.

Performansı izleme

Bir kaynak hakkında performans verilerini ayıkladığımıza göre artık eski tablolarda bulunan geçmiş verileriyle karşılaştırabiliriz. Bunu yapmak için tablo adresini önceki bir aya yeniden yazabilir ya da 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 zaman serisini sorgulama

Burada, hızlı FCP deneyimlerinin yüzdesinin her ay birkaç yüzde puanı göre 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 kaynak için performansı arayabilir, hızlı deneyimlerin yüzdesini hesaplayabilir ve bunu zaman içinde takip edebilirsiniz. Sonraki adımda, iki veya daha fazla kaynağı sorgulamayı ve bu kaynakların performanslarını karşılaştırmayı deneyin.

SSS

CrUX BigQuery veri kümesi hakkında sık sorulan soruların bazılarını aşağıda bulabilirsiniz:

Ne zaman diğer araçlar yerine BigQuery'yi kullanırı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 dilimlere ayırmanıza ve hatta 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 kullanımıyla ilgili herhangi bir sınırlama var mı?

Evet, en önemli sınırlama, varsayılan olarak kullanıcıların ayda yalnızca 1 TB boyutunda veri sorgulayabilmesidir. Bunun dışında 5 ABD doları/TB standart ücret uygulanır.

BigQuery hakkında daha fazla bilgiyi nereden edinebilirim?

Daha fazla bilgi için BigQuery belgelerini inceleyin.