Web Aplikasi Lambat? Kenali apa itu Time to First Byte (TTFB)

Yoga Hanggara
3 min readNov 30, 2018

--

Source Image: DCD

“Aplikasi webnya kok perasaan jadi lambat ya Pak?”

Sering sekali saya menemukan laporan user seperti ini, dan sebenarnya menjengkelkan, karena feedback tersebut tidak efektif, kurang jelas, hanya berdasar perasaan alias tidak terukur dengan valid.

Artinya, sebagai developer kita harus mencoba tracking kebenaran dan penyebabnya. Padahal bisa jadi banyak sekali faktor penyebab lambat tersebut, dari faktor processing aplikasi, kualitas koneksi/jaringan, konfigurasi atau performa server, dsb.

Namun hal seperti ini selalu menyenangkan bagi saya, untuk mencari tahu bagaimana performa server atau aplikasi, dan bagaimana bisa mengoptimasi lebih jauh lagi. Jika ada banyak waktu luang tentu saja, hahaha.

Artinya kita jangan menyerah pada nasib begitu saja. Harus belajar dan terus melakukan improvement.

Time to First Byte

Dalam mengukur performa/speed web aplikasi, yang bisa dijadikan ukuran atau measurement, salah satunya adalah Time to First Byte (TTFB).

TTFB measures the duration from the user or client making an HTTP request to the first byte of the page being received by the client’s browser. — Wikipedia

Singkatnya, TTFB ini adalah waktu yang dibutuhkan sesaat setelah User melakukan request URL (misal, klik Go! pada Address Bar browser). Prosesnya meliputi dibukanya socket koneksi ke Internet, DNS resolving, sampai web server memberikan output response beberapa bytes data pertama (first byte).

Ilustrasinya:
Request User: “Halo, tolong tampilkan halaman utama Detik.com!”
waiting
Response Server: “Berikut adalah isi dari halaman utama Detik.com”

Maka response kata “Berikut …” bisa dikatakan adalah first bytes dari keseluruhan kalimat atau data response. Sedangkan waiting, adalah TTFB, lamanya waktu menunggu.

Salah satu indikasi jika web aplikasi kita kurang bagus responsifitasnya adalah jika kita berganti-ganti halaman, tapi ada delay loading yang cukup terasa menganggu, misal lebih dari 6–10 detik.

Dengan network inspection tools pada browser, bisa kita lihat seperti ini:

TTFB sebelum dilakukan optimasi.
TTFB setelah dilakukan optimasi kecil.

Dengan hanya optimasi kecil, penyesuaian konfigurasi server, serta tanpa menyentuh kode aplikasi (yang pasti pusing kalau sampai coding), kita bisa mengurangi delay loading dari 6.65 detik menjadi 1.63 detik saja, sangat signifikan, web aplikasi menjadi lebih responsif saat berganti-ganti halaman.

Apa Bedanya TTFB dengan Load Time?

Jika TTFB adalah waktu sesaat yang dibutuhkan untuk mendapatkan first bytes response dari server, maka Load Time adalah waktu keseluruhan yang dibutuhkan sampai halaman web tampil dan bisa digunakan seluruhnya.

Dengan mengetahui perbedaan ini, akan bisa membantu kita debugging mencari dimanakah atau penyebab lambatnya akses ke web aplikasi kita.

Jika TTFB yang lambat, bisa jadi problem ada di jaringan/network atau koneksi/konfigurasi di server. Sedangkan jika Load Time yang tinggi, maka berikutnya web aplikasi kita yang perlu dioptimasi lagi code, database-nya, dsb.

Happy coding, gaes.

--

--

Yoga Hanggara

Software Craftsmanship, Agile & Leadership, DevOps Culture, and Cloud Engineering.