Latency p95 meningkat dari 180 ms menjadi 4,8 detik. CPU app server hanya 45%, tetapi connection pool database habis.
Menangani jutaan request bukan soal satu trik. Performa lahir dari pengukuran, pengurangan pekerjaan per request, kontrol concurrency, dan degradasi yang dirancang.
Temukan batas sistem dengan observability
Gabungkan metric, log, dan trace. Average latency sering menyembunyikan ekor lambat; lihat p95 dan p99, error rate, saturation, serta dependency time.
| Sinyal | Pertanyaan |
|---|---|
| Latency p95/p99 | Berapa lama pengguna terburuk menunggu? |
| Throughput | Berapa request sukses per detik? |
| Saturation | Resource mana yang mendekati batas? |
| Error rate | Kegagalan berasal dari aplikasi atau dependency? |
| Queue time | Apakah request menunggu sebelum diproses? |
Kurangi kerja di jalur request
- 1Cache respons atau data yang sering dibaca.
- 2Gabungkan query dan hilangkan N+1.
- 3Pindahkan email, laporan, dan proses berat ke queue.
- 4Kompres payload dan kirim field yang benar-benar diperlukan.
- 5Gunakan CDN untuk aset dan konten publik.
Lindungi dependency dengan backpressure
if (!dbPool.tryAcquire(timeout: 50ms)) {
return HTTP 503 with Retry-After;
}
try {
return handleRequest();
} finally {
dbPool.release();
}Menolak sebagian request secara terkendali lebih baik daripada membuat seluruh sistem timeout. Rate limit, bounded queue, circuit breaker, dan timeout harus memiliki nilai yang diselaraskan.
Degradasi yang dirancang
Ketika recommendation service gagal, tampilkan produk populer. Ketika laporan real-time terlambat, tampilkan snapshot terakhir dengan timestamp. Fitur inti tetap hidup meskipun fitur tambahan menurun.
Uji sebelum traffic nyata
# contoh uji beban bertahap dengan k6
k6 run --vus 100 --duration 5m load-test.jsGunakan data dan pola request yang menyerupai produksi. Naikkan beban bertahap, temukan titik jenuh, lalu verifikasi bahwa autoscaling, alert, dan recovery benar-benar bekerja.
Skala besar adalah disiplin mengurangi ketidakpastian: ukur, batasi, isolasi, dan siapkan jalan keluar ketika sesuatu gagal.
