Distribusi apa yang paling umum digunakan untuk memodelkan waktu respons server?

16

Saya memiliki aplikasi berbasis servlet di mana saya mengukur waktu yang dibutuhkan untuk menyelesaikan setiap permintaan ke servlet itu. Saya sudah menghitung statistik sederhana seperti rata-rata dan maksimum; Saya ingin menghasilkan beberapa analisis yang lebih canggih, dan untuk itu saya percaya saya perlu memodelkan waktu respons ini dengan benar.

Tentunya, saya katakan, waktu respons mengikuti beberapa distribusi terkenal, dan ada alasan bagus untuk percaya bahwa distribusi adalah model yang tepat. Namun, saya tidak tahu distribusi apa yang seharusnya.

Log-normal dan Gamma muncul di pikiran, dan Anda dapat membuat salah satu dari jenis data waktu respons nyata yang sesuai. Adakah yang memiliki pandangan tentang distribusi apa yang harus diikuti oleh waktu tanggapan?

Sean Owen
sumber

Jawaban:

16

The distribusi Log-Normal adalah yang saya menemukan terbaik di menggambarkan latency kali respon server di semua basis pengguna selama periode waktu.

Anda dapat melihat beberapa contoh di situs lognormal.com bernama tepat yang dalam bisnis mengukur distribusi latensi situs dari waktu ke waktu dan banyak lagi. Saya tidak memiliki afiliasi dengan situs kecuali menjadi pengguna yang bahagia. Begini cara distribusi terlihat; response (mis. memuat halaman web) waktu vs jumlah respons:

distribusi log-normal

Perhatikan bahwa dalam bagan ini, skala waktu-beban (sumbu-X) linier. Jika Anda mengganti sumbu x ke skala log, bentuk distribusi akan terlihat lebih normal (berbentuk lonceng) di sisi kanan puncak.

diri sendiri
sumber
PDF ini benar-benar terlihat seperti Fréchet menurut saya.
usεr11852 mengatakan Reinstate Monic
4

Contoh Grafik.  Lihat artikel untuk lebih mendalam.

Penelitian saya menunjukkan model terbaik ditentukan oleh beberapa hal: 1) Apakah Anda peduli dengan tubuh, ekor, atau keduanya? Jika bukan "keduanya", pemodelan dataset yang difilter dapat lebih bermanfaat. 2) Apakah Anda ingin yang sangat sederhana atau sangat akurat? yaitu berapa banyak parameter?

Jika jawaban untuk 1 adalah "keduanya" dan 2 adalah "sederhana", Pareto tampaknya bekerja paling baik. Jika tidak, jika 1 "tubuh" dan 2 "sederhana" - pilih model erlang yang difilter. Jika 1 adalah "keduanya" dan 2 adalah "akurat", Anda mungkin menginginkan model campuran gaussian pada data Anda di domain log - secara efektif cocok lognormal.

Saya telah meneliti hal ini akhir-akhir ini, dan saya tidak menemukan topik yang cukup baik untuk dibahas di internet publik, jadi saya hanya menulis posting blog yang merinci penelitian saya tentang topik ini.

Andrew Charneski
sumber
1
Terima kasih untuk bagannya. Berdasarkan pada distribusi tri-modal (kasar) yang Anda miliki, saya yakin ini bukan pengaturan (server tunggal) sederhana. Anda tampaknya memiliki beberapa middleware atau back-end yang lebih lambat. Ini menyebabkan respons keseluruhan melambat ketika server yang dihadapi pengguna menunggu subsistem back-end yang berpotensi di-cache untuk merespons. Juga tidak jelas apa yang mewakili sumbu X dan Y. Sudahkah Anda membalikkan waktu muat (awalnya sumbu X) dan menghitung (aslinya sumbu Y)?
arielf
Terima kasih atas tanggapan Anda! Dataset sumber lebih mirip ping daripada permintaan layanan web, tapi saya kira distribusi trimodal terutama disebabkan oleh dua hal: 1) Asimetri bi-modal utama adalah karena dua jalur jaringan, sementara 2) ekor panjang 3 komponen karena skenario pemulihan kesalahan tcp. Tapi itu hanya dugaan ... fokus utama saya adalah pada utilitas empiris dari berbagai model, bukan proses dan teori. Saya tidak sepenuhnya yakin apa yang Anda tanyakan tentang sumbu terbalik, apakah ... apakah Anda memiliki contoh plot?
Andrew Charneski
Juga, permintaan maaf saya pada grafik yang ceroboh. Sumbu x adalah mikrodetik, dan sumbu y adalah kerapatan probabilitas. (Ya, saya tahu ... maaf ... lihat buku catatan untuk ilmu yang dapat direproduksi.)
Andrew Charneski