Loncat ke konten utama

TTFB (Time to First Byte)

Diperbarui: 29 Oktober 2026
By Willya Randika

TTFB adalah waktu dari permintaan sampai byte pertama diterima browser. Angka ini mencakup DNS, koneksi TLS, antrean server, eksekusi aplikasi, dan query database. TTFB bukan ukuran ukuran file atau kecepatan gambar.

Apa yang terjadi sebelum byte pertama

Browser harus menemukan alamat IP, membuka koneksi, dan menyelesaikan TLS sebelum request diproses. Setelah itu server menjalankan aplikasi, membaca cache, atau menunggu database. Byte pertama baru dikirim setelah sebagian output siap.

Karena itu, TTFB tinggi bisa berasal dari DNS yang lambat, TLS yang berat, worker PHP yang penuh, query tanpa index, atau cache yang tidak aktif. CDN yang tidak punya salinan cache juga bisa meneruskan permintaan ke origin dan menambah waktu.

Cara mengukur

curl -o /dev/null -s -w 'dns=%{time_namelookup} connect=%{time_connect} tls=%{time_appconnect} ttfb=%{time_starttransfer}\n' https://contoh.com memecah waktu menjadi beberapa bagian. Di DevTools, buka Network, pilih request dokumen, lalu lihat tab Timing.

Uji dari beberapa lokasi. TTFB dari Jakarta bisa berbeda jauh dari TTFB dari Frankfurt. Kalau Anda memakai CDN, bandingkan x-cache: HIT dan MISS. HIT biasanya jauh lebih cepat daripada MISS.

Penyebab yang sering

GejalaPenyebab umum
DNS lookup tinggiResolver lambat atau nameserver jauh
TLS tinggiHandshake berat, OCSP, atau jaringan
Waiting tinggiPHP, database, atau aplikasi lambat
Semua request lambatWorker penuh atau cache mati

Untuk WordPress, plugin cache dan object cache bisa menurunkan TTFB secara signifikan. Kalau angka tetap tinggi setelah cache, periksa query database dan batas CPU akun. Lihat PHP-FPM untuk worker, OPcache untuk kompilasi PHP, dan Web Cache untuk cache halaman.

Yang perlu diperhatikan

TTFB bukan satu-satunya metrik. Halaman dengan TTFB rendah tetap bisa terasa lambat kalau gambar dan JavaScript besar. Sebaliknya, TTFB tinggi pada halaman yang jarang diakses mungkin bukan prioritas.

Jangan mengoptimasi TTFB hanya dari satu pengukuran. Ulangi setelah cache aktif dan setelah perubahan database. Untuk dampak ke pengalaman halaman, lihat Core Web Vitals. Kalau query database mencurigakan, lihat Index MySQL.

Bedakan waktu server dan waktu jaringan. Kalau time_starttransfer tinggi tetapi time_connect rendah, masalahnya mungkin ada di aplikasi atau database. Header Server-Timing bisa menunjukkan waktu PHP, cache, atau database jika aplikasi mengirimkannya. Tanpa data itu, perbaikan hanya menebak.

FAQ

Berapa TTFB yang dianggap baik?

Di bawah 800 ms sering dianggap wajar untuk halaman dinamis, tetapi konteksnya penting. Halaman yang dilayani cache seharusnya jauh lebih cepat.

Apakah CDN selalu menurunkan TTFB?

Untuk aset yang sudah di-cache, biasanya ya. Untuk request yang selalu MISS, CDN bisa menambah satu lapisan perjalanan.

Apakah TTFB termasuk waktu render?

Tidak. TTFB berhenti saat byte pertama diterima. Render, gambar, dan JavaScript diukur setelahnya.

Disclaimer: Artikel WikiHosting disusun untuk tujuan edukasi dan referensi. Teknologi hosting terus berkembang, sehingga beberapa informasi teknis mungkin berubah seiring waktu.