通過二八定律來計算預期指標

通過二八定律來計算預期指標

首先先預估系統的每日總請求數,這個沒有固定的方法,如果沒有任何歷史數據參考,一般是通過用戶量或者其他關聯繫統來評估。

比如某網站新增了一個每日簽到送積分功能,由於還沒有上線,所以沒有簽到的數據。網站的註冊用戶1000w,日活躍用戶大概是100w左右,那麼最極端情況下,這100w人都會來簽到(實際肯定不會這麼多人來簽到,但是評估指標要儘量往高評,以免出現極端情況),那麼每天大概有100w次簽到請求,80%的請求數就是100w*0.8=80w。

其次確定系統的20%時間,大多數系統是24小時對外提供服務的(也有一些系統,比如政府類的項目,是在一天的某個時間段提供服務的)。但是大多數系統在0點-6點之間訪問量很少,從一天的總訪問量來看,可以忽略不計。所以統計時間的時候,可以把這段時間去掉,一天24小時去掉這6個小時,還剩下18個小時,那20%的時間=18小時*3600秒*0.2=12960秒。

最終計算出來的結果爲80w請求/12960秒=61左右。也就是說接口TPS滿足61即可。

 

但是也需要考慮一個問題,因爲上面的用戶請求是按照100w評估,也有可能推出這個活動後,每日會有超過100w的用戶來簽到。簽到業務每個用戶只能執行一次,如果是其他業務,可能會有多次操作。所以評估出來指標後,爲了更加保險一些,最好再乘以一個冗餘係數,提高預期指標,防止人爲評估造成預期指標偏低的情況。

這個冗餘係數一般定爲2-5之間(個人經驗),上面計算出來的tps指標爲61,如果再乘以一個冗餘係數3,那麼最終tps指標就定爲183。同時,將來項目上線後,可以通過對項目接口的峯值監控,來對比之前評估的算法結果,調整冗餘係數,最終隨着不斷的數據積累,將會形成一套本項目的性能模型。

那麼將來項目上線後,接口的訪問量真的和計算的一模一樣嗎?這個肯定不會,大家一定得知道一個原則,性能測試從來都不是一門非常精確的技術。二八定律也並不是100%適用於所有業務場景。在沒有任何歷史數據參考的背景下,二八定律相對來說是一種相對來說靠譜的算法,最起碼有一定的理論依據,比拍腦袋猜的值靠譜多了。

 

總結一下,二八定律的算法爲 80%的請求 / 20%的時間 * 冗餘係數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章