開發(fā)的原因,需要對吞吐量(TPS),、QPS,、并發(fā)數(shù)、響應(yīng)時間(RT)幾個概念做下了解,,查自百度百科,,記錄如下: 1. 響應(yīng)時間(RT) 響應(yīng)時間是指系統(tǒng)對請求作出響應(yīng)的時間。直觀上看,,這個指標(biāo)與人對軟件性能的主觀感受是非常一致的,,因為它完整地記錄了整個計算機系統(tǒng)處理請求的時間。由于一個系統(tǒng)通常會提供許多功能,,而不同功能的處理邏輯也千差萬別,,因而不同功能的響應(yīng)時間也不盡相同,甚至同一功能在不同輸入數(shù)據(jù)的情況下響應(yīng)時間也不相同,。所以,,在討論一個系統(tǒng)的響應(yīng)時間時,,人們通常是指該系統(tǒng)所有功能的平均時間或者所有功能的最大響應(yīng)時間。當(dāng)然,,往往也需要對每個或每組功能討論其平均響應(yīng)時間和最大響應(yīng)時間,。 對于單機的沒有并發(fā)操作的應(yīng)用系統(tǒng)而言,人們普遍認(rèn)為響應(yīng)時間是一個合理且準(zhǔn)確的性能指標(biāo),。需要指出的是,,響應(yīng)時間的絕對值并不能直接反映軟件的性能的高低,軟件性能的高低實際上取決于用戶對該響應(yīng)時間的接受程度,。對于一個游戲軟件來說,,響應(yīng)時間小于100毫秒應(yīng)該是不錯的,響應(yīng)時間在1秒左右可能屬于勉強可以接受,,如果響應(yīng)時間達(dá)到3秒就完全難以接受了,。而對于編譯系統(tǒng)來說,完整編譯一個較大規(guī)模軟件的源代碼可能需要幾十分鐘甚至更長時間,,但這些響應(yīng)時間對于用戶來說都是可以接受的,。 2. 吞吐量(Throughput) 吞吐量是指系統(tǒng)在單位時間內(nèi)處理請求的數(shù)量。對于無并發(fā)的應(yīng)用系統(tǒng)而言,,吞吐量與響應(yīng)時間成嚴(yán)格的反比關(guān)系,,實際上此時吞吐量就是響應(yīng)時間的倒數(shù)。前面已經(jīng)說過,,對于單用戶的系統(tǒng),,響應(yīng)時間(或者系統(tǒng)響應(yīng)時間和應(yīng)用延遲時間)可以很好地度量系統(tǒng)的性能,但對于并發(fā)系統(tǒng),,通常需要用吞吐量作為性能指標(biāo),。 對于一個多用戶的系統(tǒng),如果只有一個用戶使用時系統(tǒng)的平均響應(yīng)時間是t,,當(dāng)有你n個用戶使用時,,每個用戶看到的響應(yīng)時間通常并不是n×t,而往往比n×t小很多(當(dāng)然,,在某些特殊情況下也可能比n×t大,,甚至大很多)。這是因為處理每個請求需要用到很多資源,,由于每個請求的處理過程中有許多不走難以并發(fā)執(zhí)行,,這導(dǎo)致在具體的一個時間點,所占資源往往并不多,。也就是說在處理單個請求時,,在每個時間點都可能有許多資源被閑置,當(dāng)處理多個請求時,,如果資源配置合理,,每個用戶看到的平均響應(yīng)時間并不隨用戶數(shù)的增加而線性增加,。實際上,不同系統(tǒng)的平均響應(yīng)時間隨用戶數(shù)增加而增長的速度也不大相同,,這也是采用吞吐量來度量并發(fā)系統(tǒng)的性能的主要原因。一般而言,,吞吐量是一個比較通用的指標(biāo),,兩個具有不同用戶數(shù)和用戶使用模式的系統(tǒng),如果其最大吞吐量基本一致,,則可以判斷兩個系統(tǒng)的處理能力基本一致,。 3. 并發(fā)用戶數(shù) 并發(fā)用戶數(shù)是指系統(tǒng)可以同時承載的正常使用系統(tǒng)功能的用戶的數(shù)量。與吞吐量相比,,并發(fā)用戶數(shù)是一個更直觀但也更籠統(tǒng)的性能指標(biāo),。實際上,并發(fā)用戶數(shù)是一個非常不準(zhǔn)確的指標(biāo),,因為用戶不同的使用模式會導(dǎo)致不同用戶在單位時間發(fā)出不同數(shù)量的請求,。一網(wǎng)站系統(tǒng)為例,假設(shè)用戶只有注冊后才能使用,,但注冊用戶并不是每時每刻都在使用該網(wǎng)站,,因此具體一個時刻只有部分注冊用戶同時在線,在線用戶就在瀏覽網(wǎng)站時會花很多時間閱讀網(wǎng)站上的信息,,因而具體一個時刻只有部分在線用戶同時向系統(tǒng)發(fā)出請求,。這樣,對于網(wǎng)站系統(tǒng)我們會有三個關(guān)于用戶數(shù)的統(tǒng)計數(shù)字:注冊用戶數(shù),、在線用戶數(shù)和同時發(fā)請求用戶數(shù),。由于注冊用戶可能長時間不登陸網(wǎng)站,使用注冊用戶數(shù)作為性能指標(biāo)會造成很大的誤差,。而在線用戶數(shù)和同事發(fā)請求用戶數(shù)都可以作為性能指標(biāo),。相比而言,以在線用戶作為性能指標(biāo)更直觀些,,而以同時發(fā)請求用戶數(shù)作為性能指標(biāo)更準(zhǔn)確些,。 4. QPS每秒查詢率(Query Per Second) 每秒查詢率QPS是對一個特定的查詢服務(wù)器在規(guī)定時間內(nèi)所處理流量多少的衡量標(biāo)準(zhǔn),在因特網(wǎng)上,,作為域名系統(tǒng)服務(wù)器的機器的性能經(jīng)常用每秒查詢率來衡量,。對應(yīng)fetches/sec,即每秒的響應(yīng)請求數(shù),,也即是最大吞吐能力,。 (看來是類似于TPS,只是應(yīng)用于特定場景的吞吐量) |
|