1. 程式人生 > >系統吞吐量評估方法(轉)

系統吞吐量評估方法(轉)

ati 不同的應用 offer stat request mod 一次 clas .com

轉:系統吞吐量評估方法(馮淩聖)

一.系統吞度量要素:

一個系統的吞度量(承壓能力)與request對CPU的消耗、外部接口、IO等等緊密關聯。單個reqeust 對CPU消耗越高,外部系統接口、IO影響速度越慢,系統吞吐能力越低,反之越高。 系統吞吐量幾個重要參數:QPS(TPS)、並發數、響應時間

QPSTPS: 每秒鐘request/事務 數量

並發數: 系統同時處理的request/事務數

響應時間: 一般取平均響應時間

(很多人經常會把並發數和TPS理解混淆)

理解了上面三個要素的意義之後,就能推算出它們之間的關系:

QPS(TPS)= 並發數/平均響應時間

一個系統吞吐量通常由QPS(TPS)、並發數兩個因素決定,每套系統這兩個值都有一個相對極限值,在應用場景訪問壓力下,只要某一項達到系統最高值,系統的吞吐量就上不去了,如果壓力繼續增大,系統的吞吐量反而會下降,原因是系統超負荷工作,上下文切換、內存等等其它消耗導致系統性能下降。

決定系統響應時間要素

我們做項目要排計劃,可以多人同時並發做多項任務,也可以一個人或者多個人串行工作,始終會有一條關鍵路徑,這條路徑就是項目的工期。

系統一次調用的響應時間跟項目計劃一樣,也有一條關鍵路徑,這個關鍵路徑是就是系統影響時間;

關鍵路徑是有CPU運算、IO、外部系統響應等等組成。

二.系統吞吐量評估:

我們在做系統設計的時候就需要考慮CPU運算、IO、外部系統響應因素造成的影響以及對系統性能的初步預估。

而通常境況下,我們面對需求,我們評估出來的出來QPS、並發數之外,還有另外一個維度:日PV。

通過觀察系統的訪問日誌發現,在用戶量很大的情況下,各個時間周期內的同一時間段的訪問流量幾乎一樣。比如工作日的每天早上。只要能拿到日流量圖和QPS我們就可以推算日流量。

通常的技術方法:

1. 找出系統的最高TPS和日PV,這兩個要素有相對比較穩定的關系(除了放假、季節性因素影響之外)

2. 通過壓力測試或者經驗預估,得出最高TPS,然後跟進1的關系,計算出系統最高的日吞吐量

B2B中文和淘寶面對的客戶群不一樣,這兩個客戶群的網絡行為不應用,他們之間的TPS和PV關系比例也不一樣。

A) 淘寶

淘寶流量圖:

技術分享圖片

淘寶的TPS和PV之間的關系通常為 最高TPS:PV大約為 1 : 11*3600 (相當於按最高TPS訪問11個小時,這個是商品詳情的場景,不同的應用場景會有一些不同)

B) B2B中文站

B2B的TPS和PV之間的關系不同的系統不同的應用場景比例變化比較大,粗略估計在1 : 8個小時左右的關系(09年對offerdetail的流量分析數據)。旺鋪和offerdetail這兩個比例相差很大,可能是因為爬蟲暫的比例較高的原因導致。

在淘寶環境下,假設我們壓力測試出的TPS為100,那麽這個系統的日吞吐量=100*11*3600=396萬

這個是在簡單(單一url)的情況下,有些頁面,一個頁面有多個request,系統的實際吞吐量還要小。

系統吞吐量評估方法(轉)