Latensi permintaan dokumen

Adam Raine
Adam Raine

Dipublikasikan: 27 Maret 2025

Permintaan dokumen awal untuk halaman adalah yang paling penting karena semua permintaan jaringan dan konten halaman bergantung padanya. Mengoptimalkan permintaan dokumen awal akan meningkatkan performa.

Hal yang diperiksa insight

Insight ini memeriksa apakah salah satu kondisi berikut memengaruhi permintaan dokumen awal:

  • Permintaan navigasi dialihkan satu atau beberapa kali.
  • Server memerlukan waktu lebih dari 600 md untuk merespons permintaan.
  • Respons tidak dikompresi.
Devtools melaporkan bahwa latensi dokumen dapat dikurangi dengan menghapus pengalihan
Devtools melaporkan bahwa latensi dokumen dapat dikurangi dengan menghilangkan pengalihan

Menghindari pengalihan

Pengalihan akan memperlambat kecepatan pemuatan halaman. Saat browser meminta resource yang telah dialihkan, server biasanya menampilkan respons HTTP seperti ini:

HTTP/1.1 301 Moved Permanently
Location: /path/to/new/location

Kemudian, browser harus membuat permintaan HTTP lain di lokasi baru untuk mengambil resource. Perjalanan tambahan ini di seluruh jaringan dapat menunda pemuatan resource.

Pastikan link mengarah ke lokasi resource saat ini. Jika Anda menggunakan pengalihan untuk mengalihkan pengguna seluler ke halaman versi seluler, pertimbangkan untuk mendesain ulang situs Anda agar menggunakan desain responsif.

Mengurangi waktu respons server

Langkah pertama untuk meningkatkan waktu respons server adalah mengidentifikasi tugas konseptual inti yang harus diselesaikan server Anda untuk menampilkan konten halaman, lalu mengukur berapa lama waktu yang diperlukan untuk setiap tugas ini. Setelah mengidentifikasi tugas yang paling lama, temukan cara untuk mempercepatnya.

Ada banyak kemungkinan penyebab respons server yang lambat dan banyak kemungkinan cara untuk meningkatkannya:

  • Optimalkan logika aplikasi server untuk menyiapkan halaman dengan lebih cepat. Jika Anda menggunakan framework server, framework tersebut mungkin memiliki rekomendasi tentang cara melakukannya.
  • Optimalkan cara server Anda membuat kueri database atau bermigrasi ke sistem database yang lebih cepat.
  • Upgrade hardware server Anda agar memiliki lebih banyak memori atau CPU.
  • Gunakan CDN untuk mengurangi latensi jaringan. Hal ini sangat efektif jika dokumen dapat di-cache di node edge CDN.

Lihat panduan Mengoptimalkan TTFB untuk mengetahui detail selengkapnya.

Aktifkan pemampatan

Kompresi teks dapat mengurangi ukuran keseluruhan dokumen HTML awal. Saat meminta resource, browser akan menggunakan header permintaan HTTP Accept-Encoding untuk menunjukkan algoritma kompresi yang didukungnya.

Accept-Encoding: gzip, compress, br, zstd

Lihat juga Mengoptimalkan encoding dan ukuran transfer aset berbasis teks.

Server Anda harus menampilkan header respons HTTP Content-Encoding untuk menunjukkan algoritma kompresi yang digunakan.

Devtools melaporkan bahwa permintaan dokumen menggunakan kompresi gzip
Devtools melaporkan bahwa permintaan dokumen menggunakan kompresi gzip

Panduan khusus stack

WordPress

  • Aktifkan kompresi teks di konfigurasi server web Anda.
  • Pilih tema ringan (idealnya tema blok) dan terapkan penyimpanan cache halaman penuh atau solusi situs statis. Nonaktifkan plugin yang tidak perlu untuk meminimalkan overhead server.
  • Pertimbangkan untuk mengupgrade hosting Anda ke layanan terkelola atau khusus.

Drupal

  • Jika modul Pengalihan diinstal, tinjau dan hapus pengalihan yang tidak perlu.
  • Kurangi beban traffic dengan satu atau beberapa modul cache Drupal seperti Internal Page Cache, Internal Dynamic Page Cache, dan BigPipe. Gabungkan modul cache ini dengan CDN untuk meningkatkan waktu respons. Server hosting Anda harus menggunakan PHP OPcache.
  • Sebaiknya gunakan penyimpanan cache memori seperti Redis atau Memcached untuk mengurangi waktu kueri database.
  • Gunakan tema, modul, dan server yang lebih cepat untuk menurunkan waktu respons server.

React

  • Jika Anda menggunakan React Router, minimalkan penggunaan komponen <Redirect> untuk navigasi rute.
  • Jika Anda merender komponen React pada sistem server, pertimbangkan untuk menggunakan renderToNodeStream() atau renderToStaticNodeStream() agar klien dapat menerima dan mengisi beberapa bagian markup yang berbeda, bukan sekaligus.

Joomla

  • Aktifkan setelan Gzip Page Compression (System > Global configuration > Server).
  • Semua spesifikasi template, ekstensi, dan server berkontribusi pada waktu respons server. Sebaiknya cari template yang lebih optimal, pilih ekstensi pengoptimalan dengan hati-hati, atau upgrade server Anda.

Magento

Resource