Merilis, dan Bekerja Sebagai Developer · 4/8
Performa yang dirasakan pengguna
Core Web Vitals, ukuran bundle, gambar, dan mengukur sebelum mengoptimasi.
Baca 30 menit
Setelah pelajaran ini kamu bisa
- Menyebutkan Core Web Vitals dan ambang batasnya
- Mengukur sebelum mengoptimasi
- Menjelaskan apa yang sebenarnya membuat halaman lambat
- Menetapkan performance budget yang bisa kamu tegakkan
Pekerjaan performa punya satu aturan yang mengalahkan semua teknik: ukur dulu. Intuisi developer tentang apa yang lambat lebih sering salah daripada benar, dan mengoptimasi hal yang salah menghabiskan waktu dan menambah kerumitan tanpa hasil.
| Metrik | Mengukur | Baik | Buruk |
|---|---|---|---|
| LCP | Kapan konten utamanya muncul | ≤ 2,5s | > 4,0s |
| INP | Seberapa cepat halaman merespons sentuhan | ≤ 200ms | > 500ms |
| CLS | Seberapa banyak layout-nya melompat | ≤ 0,1 | > 0,25 |
Menilai terhadap ambang batas sungguhan, dan menghitung CLS dari pergeseran layout.
Hasil
Tekan Jalankan untuk melihat hasilnya.
Ini jalan di browser kamu, di dalam sandbox. Apa pun yang kamu tulis di sini tidak bisa merusak situs.
Apa yang sebenarnya membuat halaman lambat
| Penyebab | Perbaikan | Besaran keuntungannya |
|---|---|---|
| Gambar tanpa optimasi | Format modern, ukuran tepat, lazy load | Besar |
| JavaScript terlalu banyak | Server Component, dynamic import | Besar |
| Request waterfall | Promise.all, atau pindahkan ke server | Besar |
| Query database N+1 | Satu query dengan join | Besar |
| Font yang memblokir render | font-display: swap, preload | Sedang |
| Tanpa caching | Cache apa yang tidak berubah per request | Sedang |
| Function lambat di dalam loop | useMemo, setelah diukur | Biasanya sangat kecil |
Performance budget
Pemeriksaan budget yang bisa dijalankan CI. Perhatikan biaya satu library di koneksi lambat.
Hasil
Tekan Jalankan untuk melihat hasilnya.
Ini jalan di browser kamu, di dalam sandbox. Apa pun yang kamu tulis di sini tidak bisa merusak situs.
Tugas praktik
Jalankan Lighthouse di halaman beranda proyek ini, lalu di sebuah halaman pelajaran, dan bandingkan. Catat LCP masing-masingnya dan apakah lolos. Lalu atur Network ke Slow 3G, muat ulang sebuah halaman pelajaran, dan perhatikan apa yang muncul lebih dulu — itu HTML yang sudah di-prerender datang sebelum JavaScript apa pun.
Hasil yang diharapkan
Konten yang bisa dibaca sebelum JavaScript-nya termuat, karena halamannya sudah di-prerender.
Cek pemahaman
Pilih jawaban dulu