Website lambat itu musuh. Bukan hanya musuh pengalaman pengguna, tapi musuh peringkat di Google juga. Dan yang paling menjengkelkan, website bisa tiba-tiba lambat tanpa ada perubahan kode yang kamu lakukan β seolah-olah lambat datang sendiri.
Saya pernah beberapa kali menghadapi situasi seperti ini. Website yang tadinya muat dalam dua detik, tiba-tiba butuh delapan sampai sepuluh detik. Tidak ada yang berubah di kode. Tidak ada update plugin. Tidak ada konfigurasi yang diutak-atik. Tapi lambat.
Dari pengalaman-pengalaman itu, saya punya urutan pemeriksaan yang cukup konsisten. Ini bukan urutan dari buku teks β ini urutan yang saya temukan sendiri lewat trial and error.
Pertama: Cek Apakah Lambatnya di Semua Halaman atau Halaman Tertentu
Ini langkah paling awal dan paling sering dilewatkan. Buka beberapa halaman berbeda β homepage, halaman isi, halaman kontak. Kalau yang lambat hanya halaman tertentu, masalahnya lebih spesifik dan lebih mudah diisolasi. Kalau semua halaman lambat, kemungkinan besar masalahnya ada di level server atau database.
Kedua: Cek Server Response Time
Buka DevTools di browser (F12), masuk ke tab Network, reload halaman. Lihat waktu untuk request pertama β HTML dokumennya. Kalau response time-nya sudah tinggi di sini (lebih dari satu detik), masalahnya ada di server atau backend, bukan di aset seperti gambar atau CSS.
Waktu yang lama di server response biasanya berarti: query database yang berat, tidak ada caching, atau CPU server sedang terbebani.
Ketiga: Cek Query Database
Ini yang paling sering jadi biang kerok, terutama di website yang datanya sudah besar. Query yang tadinya cepat waktu data masih sedikit, bisa jadi sangat lambat saat data sudah ratusan ribu baris.
Kalau pakai Laravel, aktifkan query log untuk sementara:
DB::enableQueryLog();
// ... kode yang mau dicek
dd(DB::getQueryLog());
Lihat berapa banyak query yang dijalankan dan berapa lama masing-masing. Kalau ada yang di atas 100ms, itu perlu dioptimasi. Kalau jumlah query-nya sampai ratusan untuk satu halaman, ada kemungkinan masalah N+1 query yang perlu diselesaikan dengan eager loading.
Keempat: Cek Ukuran Gambar
Kalau masalahnya bukan di server response tapi di waktu loading keseluruhan, seringkali penyebabnya adalah gambar yang tidak dioptimasi. Gambar 3MB untuk thumbnail 300x300 pixel itu pemborosan bandwidth yang nyata.
Saya pakai tools seperti Squoosh atau TinyPNG untuk kompres gambar sebelum upload. Dan kalau website sudah banyak gambar yang terlanjur tidak dikompres, ada baiknya proses semuanya sekaligus dengan script batch.
Kelima: Cek Hosting
Kalau semua pemeriksaan di atas tidak menemukan masalah, mungkin saatnya mempertanyakan hosting-nya. Shared hosting yang padat pengguna sering throttle resource di jam-jam sibuk. Cek apakah lambatnya terjadi di waktu-waktu tertentu β pagi hari biasanya paling kencang, sore-malam paling lambat di shared hosting yang ramai.
Saya pernah pindah dari shared hosting ke VPS hanya karena ini β dan perbedaannya seperti langit dan bumi. Bukan karena kode berubah, tapi karena resource-nya tidak perlu dibagi lagi.
Website lambat selalu ada penyebabnya. Kuncinya adalah metodis β periksa satu per satu dari yang paling mungkin, bukan langsung panik dan mengubah banyak hal sekaligus.
Kalau kamu sedang punya kasus website lambat dan bingung mulai dari mana, ceritakan detailnya di komentar. Kita coba diagnosa bareng.
Belum ada komentar. Jadilah yang pertama menulis.
Tulis Komentar