Manfaat utama API Prestasi:
API Prestasi menggunakan penampan untuk menyimpan metrik prestasi sebagai objek pada peringkat utama kitaran hayat laman web:
Navigasi halaman:
Rekod Redirects, Sambungan, Jabat tangan, dan Acara DOM.Nota: Sokongan Safari untuk semua kaedah tidak lengkap, walaupun melaksanakan majoriti API. (memerlukan
).if ('performance' in window) { // Use Performance APIs }
Beyond : perf_hooks
--allow-hrtime
dapat mengukur masa berlalu, ketepatan milisaat dan pergantungan pada masa sistem (terdedah kepada pelarasan OS) mengehadkan ketepatannya. Pemasa resolusi tinggi API dan metrik tambahan (seperti redirect dan dns kali) memberikan perincian yang lebih baik.
Date()
Metrik Rakaman dan Pelaporan:
Data prestasi pihak klien memerlukan destinasi. Anda boleh menghantar data ini ke pelayan anda untuk analisis menggunakan AJAX, FETCH, XMLHTTPREQUEST, atau API Beacon. Banyak platform analisis juga menawarkan API acara tersuai untuk merakam masa (mis., Google Analytics Pengguna Pengguna API).
PAGE PAGE TIMING:
Ujian pada sambungan pantas tidak mencerminkan pengalaman pengguna sebenar. API masa navigasi menyediakan objek PerformanceNavigationTiming
yang mengandungi maklumat terperinci mengenai pengalihan, masa beban, saiz fail, peristiwa DOM, dan banyak lagi, seperti yang diperhatikan oleh pengguna.
Akses objek ini menggunakan:
if ('performance' in window) { // Use Performance APIs }
atau
const pagePerf = performance.getEntriesByType('navigation');
kedua-duanya mengembalikan array dengan objek tunggal yang mengandungi sifat baca sahaja (mis., startTime
, duration
, domComplete
, pelbagai metrik masa).
PAGE PAGE PAGE PAGHT:
PerformanceResourceTiming
const pagePerf = performance.getEntriesByName(window.location);
getEntriesByName()
Contoh: Menganalisis masa dan saiz beban fail CSS:
const resPerf = performance.getEntriesByType('resource');
API Masa Cat menyediakan
objek untuk dan PerformancePaintTiming
, penting untuk menilai prestasi yang dirasakan. Akses mereka dengan: first-paint
first-contentful-paint
const css = performance.getEntriesByType('resource') .filter(r => r.initiatorType === 'link' && r.name.includes('.css')) .map(r => ({ name: r.name, load: r.duration + 'ms', size: r.decodedBodySize + 'bytes' }));
API Prestasi membolehkan masa adat fungsi aplikasi menggunakan ,
, dan. performance.now()
Menyediakan cap waktu resolusi tinggi. .mark()
mencipta penanda bernama dalam penampan prestasi, dan .measure()
mengira tempoh antara penanda. performance.now()
membolehkan pemerhatian asynchronous penyertaan prestasi. .mark()
.measure()
PerformanceObserver
API sendiri Profil:
API yang berpengalaman sendiri (masih dalam pembangunan) memudahkan analisis prestasi dengan melaksanakan secara automatik, mengenal pasti kemungkinan kesesakan tanpa penempatan penanda manual.
Kesimpulan:
API Prestasi memberi kuasa kepada pemaju untuk mengukur dengan tepat dan meningkatkan prestasi aplikasi web berdasarkan data pengguna sebenar, membolehkan pengoptimuman yang disasarkan dan pengalaman pengguna yang unggul. Ingatlah untuk berunding dengan dokumentasi terperinci untuk maklumat yang paling terkini dan butiran harta tertentu.
Atas ialah kandungan terperinci Cara menjadikan laman web anda lebih cepat dengan API Prestasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!