Teori Antrian
Matematika di balik menunggu: kenapa antrean muncul walau kapasitas cukup, kedatangan Poisson, Hukum Little, kurva M/M/1, mahalnya variabilitas, Erlang C dan pooling, bottleneck di sistem software, sampai retry storm saat server kelebihan beban.
Isi materi
- Kenapa Antre?
- Kedatangan Acak
- Hukum Little
- M/M/1 & Kurva Hockey Stick
- Variabilitas Itu Mahal
- Banyak Server & Erlang C
- Antrian di Sistem Software
- Saat Sistem Kelebihan Beban
Istilah penting
- Antrian
- Pekerjaan atau orang yang menunggu karena server sedang sibuk melayani yang lain.
- Server
- Apa pun yang melayani: teller, kasir, agen call center, thread, atau instance aplikasi.
- Laju Kedatangan (λ)
- Rata-rata banyak kedatangan per satuan waktu.
- Laju Layanan (μ)
- Rata-rata banyak pelanggan yang bisa dilayani satu server per satuan waktu.
- Utilisasi (ρ)
- Bagian waktu server sedang sibuk, ρ = λ/(cμ).
- Notasi Kendall
- Penulisan A/B/c untuk pola kedatangan, pola layanan, dan banyak server.
- Proses Poisson
- Pola kedatangan acak yang saling bebas dengan laju rata-rata tetap.
- Distribusi Eksponensial
- Distribusi jeda antar kedatangan pada proses Poisson, dengan rata-rata 1/λ.
- Memoryless
- Sifat eksponensial: waktu yang sudah ditunggu tidak mengubah peluang kejadian berikutnya.
- Hukum Little
- Rata-rata isi sistem sama dengan laju kedatangan kali rata-rata lama tinggal, L = λW.
- M/M/1
- Antrian dengan kedatangan Poisson, layanan eksponensial, dan satu server.
- M/M/c
- Seperti M/M/1, tetapi c server berbagi satu antrean.
- Erlang
- Satuan beban, λ dikali rata-rata waktu layanan; 1 Erlang menyibukkan satu server penuh.
- Erlang C
- Rumus peluang pelanggan harus menunggu di sistem M/M/c.
- Koefisien Variasi (c)
- Simpangan baku dibagi rata-rata; 0 berarti selalu sama, 1 setara eksponensial.
- Rumus Kingman
- Pendekatan waktu tunggu yang memisahkan pengaruh utilisasi, variabilitas, dan waktu layanan.
- Service Level
- Persen pelanggan yang dilayani dalam batas waktu tertentu, misalnya 80% dalam 20 detik.
- Bottleneck
- Tahap dengan utilisasi tertinggi yang membatasi throughput seluruh sistem.
- Throughput
- Banyak pekerjaan yang selesai per satuan waktu.
- Goodput
- Bagian throughput yang benar-benar berguna, misalnya selesai sebelum klien timeout.
- Backpressure
- Sinyal dari komponen yang penuh supaya pengirim memperlambat kirimannya.
- Load Shedding
- Sengaja menolak sebagian permintaan saat penuh supaya sisanya tetap terlayani cepat.
- Retry Storm
- Klien yang timeout mengirim ulang permintaan sehingga beban makin berat saat sistem sudah kewalahan.
- Tail Latency
- Latensi di persentil tinggi seperti p95 atau p99, yaitu pengalaman pengguna yang paling lambat.