白話文解說 p50 p90 p99
指標是可以被操弄的,關注錯誤的指標,會讓你做出錯誤決策。
舉 2022 全國薪資平均數 44,417 為例,為什麼很多鄉民說他們拉低平均?😭
這是由於有些數字不適合用平均數來看,因為平均數會因為極端值而拉高/降低的問題,無法代表普遍數值,例如我跟伊隆馬斯克 2 人平均薪資可能有好幾個億,這就是一個問題。
所以這種情況,我們會看所謂的中位數(median),也就是 p50 。簡單解釋就是數值按照排名,由小到大,處於排名中間的數字就是 p50, 這個數字代表 50% 的數值都在這個數字以上或以下,以此類推 p90, p99 就分別代表 90%, 99% 的位置,而 p100 就代表最大值, p1 代表最小值。 應用服務上線後,在監控服務水準的指標時,也會設定所謂的 p90, p99 指標,例如 latency p99, 代表 99% 的 latency 處於這個數值以下,這些都是為了避免極端值造成的問題,例如有一半的用戶覺得速度很快,一半用戶覺得速度很慢,兩者平均起來看,身為開發者的你看了不覺得有問題存在,造成潛在問題被忽略,然後半夜被叫起來當消防員 🚒 。
所以,在設計監控指標時,請記得按照需求添加 p90, p99 等數字,會比單看平均數更好(當然,你如果覺得平均數比較好跟老闆報告⋯⋯(我就怕被罵啊
p.s. 如果有人資面試時跟你說我們公司平均薪資多少,你知道該怎麼做了吧🤣