吞吐量(Throughput)、QPS、并發(fā)數(shù)、響應(yīng)時(shí)間(RT)對(duì)系統(tǒng)性能的影響

2021-02-12    分類(lèi): 網(wǎng)站建設(shè)

首先對(duì)吞吐量(Throughput)、QPS、并發(fā)數(shù)、響應(yīng)時(shí)間(RT)幾個(gè)概念一直比較模糊,也不知道哪些指標(biāo)可以較好的衡量系統(tǒng)的性能。今天特意查了些資料做一些記錄:首先看一些概念(來(lái)自百度百科)

1. 響應(yīng)時(shí)間(RT)

響應(yīng)時(shí)間是指系統(tǒng)對(duì)請(qǐng)求作出響應(yīng)的時(shí)間。直觀上看,這個(gè)指標(biāo)與人對(duì)軟件性能的主觀感受是非常一致的,因?yàn)樗暾赜涗浟苏麄€(gè)計(jì)算機(jī)系統(tǒng)處理請(qǐng)求的時(shí)間。由于一個(gè)系統(tǒng)通常會(huì)提供許多功能,而不同功能的處理邏輯也千差萬(wàn)別,因而不同功能的響應(yīng)時(shí)間也不盡相同,甚至同一功能在不同輸入數(shù)據(jù)的情況下響應(yīng)時(shí)間也不相同。所以,在討論一個(gè)系統(tǒng)的響應(yīng)時(shí)間時(shí),人們通常是指該系統(tǒng)所有功能的平均時(shí)間或者所有功能的大響應(yīng)時(shí)間。當(dāng)然,往往也需要對(duì)每個(gè)或每組功能討論其平均響應(yīng)時(shí)間和大響應(yīng)時(shí)間。

對(duì)于單機(jī)的沒(méi)有并發(fā)操作的應(yīng)用系統(tǒng)而言,人們普遍認(rèn)為響應(yīng)時(shí)間是一個(gè)合理且準(zhǔn)確的性能指標(biāo)。需要指出的是,響應(yīng)時(shí)間的絕對(duì)值并不能直接反映軟件的性能的高低,軟件性能的高低實(shí)際上取決于用戶(hù)對(duì)該響應(yīng)時(shí)間的接受程度。對(duì)于一個(gè)游戲軟件來(lái)說(shuō),響應(yīng)時(shí)間小于100毫秒應(yīng)該是不錯(cuò)的,響應(yīng)時(shí)間在1秒左右可能屬于勉強(qiáng)可以接受,如果響應(yīng)時(shí)間達(dá)到3秒就完全難以接受了。而對(duì)于編譯系統(tǒng)來(lái)說(shuō),完整編譯一個(gè)較大規(guī)模軟件的源代碼可能需要幾十分鐘甚至更長(zhǎng)時(shí)間,但這些響應(yīng)時(shí)間對(duì)于用戶(hù)來(lái)說(shuō)都是可以接受的。

2. 吞吐量(Throughput)

吞吐量是指系統(tǒng)在單位時(shí)間內(nèi)處理請(qǐng)求的數(shù)量。對(duì)于無(wú)并發(fā)的應(yīng)用系統(tǒng)而言,吞吐量與響應(yīng)時(shí)間成嚴(yán)格的反比關(guān)系,實(shí)際上此時(shí)吞吐量就是響應(yīng)時(shí)間的倒數(shù)。前面已經(jīng)說(shuō)過(guò),對(duì)于單用戶(hù)的系統(tǒng),響應(yīng)時(shí)間(或者系統(tǒng)響應(yīng)時(shí)間和應(yīng)用延遲時(shí)間)可以很好地度量系統(tǒng)的性能,但對(duì)于并發(fā)系統(tǒng),通常需要用吞吐量作為性能指標(biāo)。

對(duì)于一個(gè)多用戶(hù)的系統(tǒng),如果只有一個(gè)用戶(hù)使用時(shí)系統(tǒng)的平均響應(yīng)時(shí)間是t,當(dāng)有你n個(gè)用戶(hù)使用時(shí),每個(gè)用戶(hù)看到的響應(yīng)時(shí)間通常并不是n×t,而往往比n×t小很多(當(dāng)然,在某些特殊情況下也可能比n×t大,甚至大很多)。這是因?yàn)樘幚砻總€(gè)請(qǐng)求需要用到很多資源,由于每個(gè)請(qǐng)求的處理過(guò)程中有許多不走難以并發(fā)執(zhí)行,這導(dǎo)致在具體的一個(gè)時(shí)間點(diǎn),所占資源往往并不多。也就是說(shuō)在處理單個(gè)請(qǐng)求時(shí),在每個(gè)時(shí)間點(diǎn)都可能有許多資源被閑置,當(dāng)處理多個(gè)請(qǐng)求時(shí),如果資源配置合理,每個(gè)用戶(hù)看到的平均響應(yīng)時(shí)間并不隨用戶(hù)數(shù)的增加而線(xiàn)性增加。實(shí)際上,不同系統(tǒng)的平均響應(yīng)時(shí)間隨用戶(hù)數(shù)增加而增長(zhǎng)的速度也不大相同,這也是采用吞吐量來(lái)度量并發(fā)系統(tǒng)的性能的主要原因。一般而言,吞吐量是一個(gè)比較通用的指標(biāo),兩個(gè)具有不同用戶(hù)數(shù)和用戶(hù)使用模式的系統(tǒng),如果其大吞吐量基本一致,則可以判斷兩個(gè)系統(tǒng)的處理能力基本一致。

3. 并發(fā)用戶(hù)數(shù)

并發(fā)用戶(hù)數(shù)是指系統(tǒng)可以同時(shí)承載的正常使用系統(tǒng)功能的用戶(hù)的數(shù)量。與吞吐量相比,并發(fā)用戶(hù)數(shù)是一個(gè)更直觀但也更籠統(tǒng)的性能指標(biāo)。實(shí)際上,并發(fā)用戶(hù)數(shù)是一個(gè)非常不準(zhǔn)確的指標(biāo),因?yàn)橛脩?hù)不同的使用模式會(huì)導(dǎo)致不同用戶(hù)在單位時(shí)間發(fā)出不同數(shù)量的請(qǐng)求。一網(wǎng)站系統(tǒng)為例,假設(shè)用戶(hù)只有注冊(cè)后才能使用,但注冊(cè)用戶(hù)并不是每時(shí)每刻都在使用該網(wǎng)站,因此具體一個(gè)時(shí)刻只有部分注冊(cè)用戶(hù)同時(shí)在線(xiàn),在線(xiàn)用戶(hù)就在瀏覽網(wǎng)站時(shí)會(huì)花很多時(shí)間閱讀網(wǎng)站上的信息,因而具體一個(gè)時(shí)刻只有部分在線(xiàn)用戶(hù)同時(shí)向系統(tǒng)發(fā)出請(qǐng)求。這樣,對(duì)于網(wǎng)站系統(tǒng)我們會(huì)有三個(gè)關(guān)于用戶(hù)數(shù)的統(tǒng)計(jì)數(shù)字:注冊(cè)用戶(hù)數(shù)、在線(xiàn)用戶(hù)數(shù)和同時(shí)發(fā)請(qǐng)求用戶(hù)數(shù)。由于注冊(cè)用戶(hù)可能長(zhǎng)時(shí)間不登陸網(wǎng)站,使用注冊(cè)用戶(hù)數(shù)作為性能指標(biāo)會(huì)造成很大的誤差。而在線(xiàn)用戶(hù)數(shù)和同事發(fā)請(qǐng)求用戶(hù)數(shù)都可以作為性能指標(biāo)。相比而言,以在線(xiàn)用戶(hù)作為性能指標(biāo)更直觀些,而以同時(shí)發(fā)請(qǐng)求用戶(hù)數(shù)作為性能指標(biāo)更準(zhǔn)確些。

4. QPS每秒查詢(xún)率(Query Per Second)

每秒查詢(xún)率QPS是對(duì)一個(gè)特定的查詢(xún)服務(wù)器在規(guī)定時(shí)間內(nèi)所處理流量多少的衡量標(biāo)準(zhǔn),在因特網(wǎng)上,作為域名系統(tǒng)服務(wù)器的機(jī)器的性能經(jīng)常用每秒查詢(xún)率來(lái)衡量。對(duì)應(yīng)fetches/sec,即每秒的響應(yīng)請(qǐng)求數(shù),也即是大吞吐能力。

從以上概念來(lái)看吞吐量和響應(yīng)時(shí)間是衡量系統(tǒng)性能的重要指標(biāo),QPS雖然和吞吐量的計(jì)量單位不同,但應(yīng)該是成正比的,任何一個(gè)指標(biāo)都可以含量服務(wù)器的并行處理能力。當(dāng)然Throughput更關(guān)心數(shù)據(jù)量,QPS更關(guān)心處理筆數(shù)。

QPS提升帶來(lái)什么?QPS提升說(shuō)明單臺(tái)服務(wù)器處理能力提升,如果QPS提升1倍,服務(wù)器資源減少1半,或者說(shuō)服務(wù)器不變可以支撐2倍的請(qǐng)求量。

如何提升QPS?

1)減少CPU的使用時(shí)間(哪些代碼會(huì)消耗CPU:循環(huán)、字符串拼接\查找\替換、編碼\解碼、序列化\反序列化、壓縮)

2)增加CPU的數(shù)量

3)減少同步鎖

(如果CPU不能被壓到85%以上,并且此時(shí)的QPS已經(jīng)達(dá)到了峰值,則說(shuō)明另有瓶頸,接下去關(guān)注內(nèi)存)

RT提升帶來(lái)什么?

響應(yīng)速度提升說(shuō)明單詞請(qǐng)求的處理速度提升,用戶(hù)感覺(jué)任務(wù)處理速度更快,系統(tǒng)反應(yīng)速度更快。當(dāng)然在處理能力不變的情況下,RT的提升必然會(huì)提升QPS。

如何提升RT?

1)減少I(mǎi)/O的響應(yīng)時(shí)間

2)減少I(mǎi)/O的調(diào)用次數(shù)

3)減少CPU使用時(shí)間(當(dāng)然在I/O占大頭的應(yīng)用里,這方面優(yōu)化效果肯定不明顯)

網(wǎng)站欄目:吞吐量(Throughput)、QPS、并發(fā)數(shù)、響應(yīng)時(shí)間(RT)對(duì)系統(tǒng)性能的影響
標(biāo)題URL:http://www.bm7419.com/news14/100564.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、App開(kāi)發(fā)關(guān)鍵詞優(yōu)化、軟件開(kāi)發(fā)、App設(shè)計(jì)、定制開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)