Pertanyaan ini sering memicu debat:
“Mana mungkin server sendiri lebih cepat dari CDN?”
Jawaban jujurnya:
- Bisa
- Tapi tidak selalu
- Dan tidak untuk semua orang
Artikel ini membedah kapan Nginx bisa mengalahkan CDN, kenapa bisa terjadi, dan di mana batasnya.
Contents
- 1 1. CDN Itu Apa (Secara Teknis)?
- 2 2. Mitos: CDN = Selalu Lebih Cepat
- 3 3. Kapan Nginx Bisa Lebih Cepat?
- 4 4. Kekuatan Nginx dalam Serving File
- 5 5. Contoh Konfigurasi Static File Nginx Cepat
- 6 6. Kesalahan Umum yang Membuat CDN Lebih Lambat
- 7 7. CDN vs Nginx: Real Benchmark (Umum)
- 8 8. Hybrid: Nginx + CDN (Pilihan Paling Waras)
- 9 9. Kapan TIDAK Perlu CDN?
- 10 10. Kapan CDN Wajib?
- 11 11. Kesalahan Fatal: CDN Dipakai untuk Menutupi Origin Lemah
- 12 12. Kesimpulan
- 13 Related Posts
1. CDN Itu Apa (Secara Teknis)?
CDN (Content Delivery Network):
- Jaringan server global
- Cache file statis di banyak lokasi
- User dilayani dari node terdekat
Tujuan utama CDN:
- Mengurangi latency jarak
- Mengurangi load origin server
- Menyerap traffic besar / DDoS
Bukan:
- Jaminan selalu paling cepat
2. Mitos: CDN = Selalu Lebih Cepat
Ini tidak absolut.
CDN bisa lebih lambat jika:
- Cache miss
- Edge jauh dari user
- TLS handshake berlapis
- Konfigurasi cache buruk
- Free tier dibatasi
Dalam kondisi tertentu, Nginx lokal yang optimal bisa menang.
3. Kapan Nginx Bisa Lebih Cepat?
1️⃣ User Dekat dengan Server
Jika:
- User satu negara / satu region
- Server on-prem atau VPS lokal
Latency:
- Server lokal: 2–10 ms
- CDN edge internasional: 30–80 ms
➡️ Nginx menang telak.
2️⃣ File Tidak Di-cache CDN
CDN tidak selalu cache:
- File dinamis
- File tanpa cache header
- File dengan cookie
- Authenticated request
Dalam kondisi ini:
- CDN = proxy biasa
- Tambahan hop = tambahan latency
Free tier sering:
- Shared cache
- Throttling
- Eviction agresif
Nginx dedicated:
- Disk sendiri
- RAM sendiri
- Tidak rebutan
4. Kekuatan Nginx dalam Serving File
Nginx unggul karena:
1️⃣ Event-driven, zero-copy
sendfile()tcp_nopushtcp_nodelay
Nginx bisa:
Kirim file dari disk ke socket tanpa copy ke user-space
2️⃣ OS Cache (Page Cache)
Linux akan:
- Cache file di RAM
- Otomatis
- Sangat agresif
File populer:
- Hampir selalu dari RAM
- Bukan disk
3️⃣ HTTP/2 & HTTP/3
Dengan konfigurasi tepat:
- Multiplexing
- Header compression
- Connection reuse
Untuk banyak file kecil:
➡️ Latency turun drastis
5. Contoh Konfigurasi Static File Nginx Cepat
location /assets/ {
root /var/www;
access_log off;
expires 30d;
add_header Cache-Control "public, immutable";
sendfile on;
tcp_nopush on;
}
Efek:
- Zero logging overhead
- Cache agresif di browser
- Minim syscall
6. Kesalahan Umum yang Membuat CDN Lebih Lambat
- Origin lambat → cache miss mahal
- TTL terlalu pendek
- Cache key salah
- Selalu set cookie
- HTTPS double terminate
Akibatnya:
CDN hanya jadi proxy mahal
7. CDN vs Nginx: Real Benchmark (Umum)
| Kondisi | Nginx Lokal | CDN |
|---|---|---|
| User dekat server | 🟢 Lebih cepat | 🔴 |
| User global | 🔴 | 🟢 |
| File kecil & sering | 🟢 | 🟢 |
| Cache miss | 🟢 | 🔴 |
| Traffic spike | 🔴 | 🟢 |
8. Hybrid: Nginx + CDN (Pilihan Paling Waras)
Pendekatan realistis:
- Nginx optimal sebagai origin
- CDN untuk:
- Global user
- Burst traffic
- DDoS protection
CDN bukan pengganti Nginx, tapi pelindungnya.
9. Kapan TIDAK Perlu CDN?
- User lokal
- Traffic kecil–menengah
- File sering berubah
- Budget terbatas
- Latency sudah <10 ms
Dalam kondisi ini:
CDN bisa jadi overkill
10. Kapan CDN Wajib?
- Audience global
- Video / large asset
- Traffic fluktuatif ekstrem
- Compliance DDoS
- SLA tinggi
Jika:
- Nginx lambat
- Disk lambat
- TLS salah
- Buffer salah
CDN hanya:
Menunda masalah, bukan menyelesaikannya
Origin tetap harus sehat.
12. Kesimpulan
Nginx bisa lebih cepat dari CDN jika:
- User dekat
- File cacheable
- Konfigurasi benar
- Beban masuk akal
Namun:
- CDN unggul dalam skala
- Nginx unggul dalam efisiensi
Kalimat yang paling jujur:
CDN memperluas jangkauan, Nginx memaksimalkan kecepatan.