Giriş
TTFB (Time To First Byte), bir kullanıcının tarayıcısı sunucuya istek gönderdikten sonra ilk byte’ın geri gelmesine kadar geçen süredir. Bu metrik doğrudan server processing, network ve backend stack performansını ölçer.
Core Web Vitals açısından kritik zincir:
TTFB ↑ → HTML geç gelir → Render gecikir → LCP ↑ → CWV FAIL → Ranking düşer
1. TTFB Neyi Ölçer? (Gerçek Breakdown)
TTFB = DNS + TCP + SSL + Server Processing
En büyük pay genelde Server Processing kısmıdır (%60–80).
Bu aşama şunları içerir:
- PHP execution
- WordPress bootstrap
- Plugin execution
- Database query
- Cache lookup
2. İyi TTFB Değerleri
| TTFB | Durum |
|---|---|
| <100 ms | Mükemmel |
| 100–300 ms | İyi |
| 300–600 ms | Orta |
| 600–1000 ms | Kötü |
| >1000 ms | Kritik |
SEO için hedef:
TTFB < 300 ms
3. Benchmark Test Ortamı (Context)
Bu yazıdaki sayısal örnekler aşağıdaki ortamdan alınmıştır:
Test Environment:
- 2 vCPU
- 4 GB RAM
- NVMe disk
- Ubuntu + Nginx
- PHP 8.2
- MariaDB
Load:
- 20 concurrent users
- 1000 request
Test Tool:
ab -n 1000 -c 20 https://site.com/
4. Cache Etkisi (Gerçek Benchmark)
Senaryo: Cache vs No Cache
| Setup | TTFB | Açıklama |
|---|---|---|
| No cache | 920 ms | PHP + DB her request |
| Nginx FastCGI | 280 ms | HTML cache |
| LiteSpeed + LSCache | 120 ms | Full-page cache |
Neden fark oluşur?
Cache yoksa:
Request → PHP → Plugin → DB → Render → Response
Cache varsa:
Request → Cache → Response
5. Disk Türü (I/O → DB latency → TTFB)
| Disk | Ortalama Query Latency | TTFB |
|---|---|---|
| HDD | 10–20 ms | 900+ ms |
| SATA SSD | 2–5 ms | 300–500 ms |
| NVMe | <1 ms | 120–250 ms |
Teknik açıklama
WordPress bir sayfa açarken genelde 100–300 arası veritabanı sorgusu çalıştırır. Disk yavaşsa her sorgu bekler:
Yavaş disk → Query wait ↑ → PHP bekler → Response gecikir → TTFB artar
6. PHP Worker & CPU Etkisi
Benchmark
| PHP Worker | Queue | TTFB |
|---|---|---|
| 2 | Var | 880 ms |
| 4 | Az | 420 ms |
| 8 | Yok | 180 ms |
Neden?
Worker dolu → Request queue → Wait time → TTFB artar
CPU düşükse:
Execution yavaş → Response gecikir → TTFB artar
7. CDN Etkisi (Edge Response)
| Setup | TTFB |
|---|---|
| CDN yok | 620 ms |
| CDN (cache kapalı) | 280 ms |
| CDN (cache açık) | 110 ms |
Neden?
- Edge server kullanıcıya yakın
- TCP bağlantı süresi düşer
- Cache varsa origin server’a gitmez
8. Server Stack Karşılaştırması
| Stack | TTFB | Neden |
|---|---|---|
| Apache (no cache) | 900 ms | Process-based, cache yok |
| Nginx + FastCGI | 320 ms | Event-driven |
| LiteSpeed + LSCache | 120 ms | Built-in cache |
Yorum
- Apache → process tabanlı → yavaş
- Nginx → event-driven → hızlı
- LiteSpeed → cache entegre → en hızlı
9. TTFB Nasıl Ölçülür?
Komut satırı ile:
curl -o /dev/null -s -w "TTFB: %{time_starttransfer}\n" https://site.com
Alternatif araçlar:
| Araç | Özellik |
|---|---|
| PageSpeed Insights | Lab + gerçek kullanıcı verisi |
| WebPageTest | Waterfall |
| GTmetrix | Performans analizi |
| Pingdom | Lokasyon bazlı test |
10. İdeal Sunucu Mimarisi
İyi bir TTFB için önerilen stack:
Nginx / LiteSpeed
+
FastCGI Cache
+
Redis Object Cache
+
PHP 8.2+
+
MariaDB
+
NVMe Disk
+
CDN
Bu yapı ile genelde:
TTFB: 70 – 200 ms
elde edilir.
11. Gerçek Etki Dağılımı
| Faktör | Etki |
|---|---|
| Cache | %35 |
| Disk | %20 |
| CPU | %15 |
| PHP Worker | %15 |
| CDN | %10 |
| Network | %5 |
SONUÇ
TTFB bir frontend problemi değildir. Büyük oranda sunucu ve hosting kaynaklıdır.
TTFB düşmeden:
- LCP düşmez
- Core Web Vitals düzelmez
- PageSpeed artmaz
- SEO performansı artmaz
Bu yüzden performans optimizasyonu sırası:
1. Server
2. Cache
3. CDN
4. Database
5. Frontend