Jaringan dan latency DNS menjadi faktor penting untuk menentukan seberapa cepat website atau aplikasi web di-load. Hal ini selalu ada sampai batas tertentu karena kamu tidak bisa melewati hukum fisika ketika menyampaikan konten. Semakin jauh konten yang harus dilalui, semakin besar latency. Namun, bukan berarti tidak ada cara untuk menurunkannya. Pada artikel kali ini, saya akan membahas mengenai cara untuk mengoptimalkan latency, yang dapat membantu meningkatkan kecepatan website kamu.
Apa Itu Latency?
Jadi pertama, kita harus tahu apa yang kita bicarakan, apa itu network latency? Network latency atau website latency, dapat didefinisikan sebagai waktu yang diperlukan (hitungan dalam milidetik atau millisecond) untuk perjalanan request dari pengirim ke penerima dan penerima memproses request tersebut. Dengan kata lain, merupakan waktu perjalanan pulang pergi dari browser ke server. Hal ini sangat dipengaruhi oleh seberapa jauh pengguna dari server dan juga kualitas dari jaringan. Hal lain yang berkontribusi mempengaruhi latency adalah medium transmisi, propagasi, router dan storage delay.
Mengetes Latency?
Untuk mengetes latency yang paling mudah adalah menggunakan Ping. Ping digunakan dengan mengirimkan paket ICMP kepada alamat yang dituju untuk melihat seberapa cepat respon data untuk bepergian ke tujuan dan kembali ke kita. Ping yang lebih cepat berarti koneksi yang lebih baik.
Kita bisa menggunakan command promt di Windows atau terminal linux untuk melakukan tes Ping terhadap suatu website.
Tips Untuk Mengoptimalkan Latency
1. Mengoptimalkan Latency – Menggunakan CDN
Alasan menggunakan CDN salah satunya adalah untuk menurunkan latency, teknik ini memiliki efek yang sangat baik apalagi jika website kamu memiliki pengunjung dari negara lain.
Teknik CDN adalah dengan membuat cache dari konten yang ada di server utama kita ke edge server dari penyedia CDN yang tersebar di beberapa wilayah. Ketika pengunjung mengunjungi website kita dari negara yang berada jauh dari lokasi server utama, jika menggunakan CDN akan diarahkan ke edge server dengan lokasi yang paling dekat dengan lokasi pengunjung.
2. Mengoptimalkan Latency – HTTP/2
HTTP/2 dapat membantu mengurangi latency server dengan meminimalkan jumlah perjalanan pulang pergi dari pengirim ke penerima dan dengan transfer paralel. Karena dukungan browser, kita perlu untuk menjalankan HTTPS untuk memanfaatkannya.
3. Mengoptimalkan Latency – Mengurangi Request HTTP Eksternal
Hal ini sangat penting untuk selalu menjaga request HTTP eksternal seminimal mungkin. Misalkan kamu menggunakan script Google Analytics, TypeKit, New Relic monitoringm dan Hotjat yang semuanya berjalan di website kamu. Masing-masing request memiliki latency sendiri dan ini bisa menambah latency secara keseluruhan. Biasanya layanan tersebut memiliki CDN-nya sendiri, jadi pastikan kamu menggunakan sumber daya eksternal dengan infrastruktur yang cepat.
4. Mengoptimalkan Latency – Caching
Menerapkan browser caching juga bisa sangat efektif untuk mengurangi latency, karena browser tidak perlu melakukan panggilan ulang ke server.
5. Mengoptimalkan Latency – Prefetching DNS
Prefetching DNS memungkinkan browser melakukan pencarian DNS pada halaman di background saat pengguna browsing. Hal ini meminimalkan latency, karena pencarian DNS telah dilakukan ketika pengunjung mengklik link. Prefetching DNS dapat ditambahkan ke URL tertentu dengan menambahkan tag rel = “dns-prefetch” ke atribut link.
6. Mengoptimalkan Latency – Preconnect
Preconnect memungkinkan browser untuk mengatur koneksi awal sebelum request HTTP benar-benar dikirim ke server. Hal ini termasuk DNS lookup, negosiasi TLS, TCP handshakes. Pada gilirannya, menghilangkan perjalanan latency dan menghemat waktu bagi pengunjung.