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

Yoga Hanggara
Nov 30, 2018 · 3 min read
Image for post
Image for post
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:

Image for post
Image for post
TTFB sebelum dilakukan optimasi.
Image for post
Image for post
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.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store