2021-02-12 分類: 網(wǎng)站建設(shè)
首先對(duì)吞吐量(Throughput)、QPS、并發(fā)數(shù)、響應(yīng)時(shí)間(RT)幾個(gè)概念一直比較模糊,也不知道哪些指標(biāo)可以較好的衡量系統(tǒng)的性能。今天特意查了些資料做一些記錄:首先看一些概念(來自百度百科)
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ì)提供許多功能,而不同功能的處理邏輯也千差萬別,因而不同功能的響應(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ī)的沒有并發(fā)操作的應(yīng)用系統(tǒng)而言,人們普遍認(rèn)為響應(yīng)時(shí)間是一個(gè)合理且準(zhǔn)確的性能指標(biāo)。需要指出的是,響應(yīng)時(shí)間的絕對(duì)值并不能直接反映軟件的性能的高低,軟件性能的高低實(shí)際上取決于用戶對(duì)該響應(yīng)時(shí)間的接受程度。對(duì)于一個(gè)游戲軟件來說,響應(yīng)時(shí)間小于100毫秒應(yīng)該是不錯(cuò)的,響應(yīng)時(shí)間在1秒左右可能屬于勉強(qiáng)可以接受,如果響應(yīng)時(shí)間達(dá)到3秒就完全難以接受了。而對(duì)于編譯系統(tǒng)來說,完整編譯一個(gè)較大規(guī)模軟件的源代碼可能需要幾十分鐘甚至更長(zhǎng)時(shí)間,但這些響應(yīng)時(shí)間對(duì)于用戶來說都是可以接受的。
2. 吞吐量(Throughput)
吞吐量是指系統(tǒng)在單位時(shí)間內(nèi)處理請(qǐng)求的數(shù)量。對(duì)于無并發(fā)的應(yīng)用系統(tǒng)而言,吞吐量與響應(yīng)時(shí)間成嚴(yán)格的反比關(guān)系,實(shí)際上此時(shí)吞吐量就是響應(yīng)時(shí)間的倒數(shù)。前面已經(jīng)說過,對(duì)于單用戶的系統(tǒng),響應(yīng)時(shí)間(或者系統(tǒng)響應(yīng)時(shí)間和應(yīng)用延遲時(shí)間)可以很好地度量系統(tǒng)的性能,但對(duì)于并發(fā)系統(tǒng),通常需要用吞吐量作為性能指標(biāo)。
對(duì)于一個(gè)多用戶的系統(tǒng),如果只有一個(gè)用戶使用時(shí)系統(tǒng)的平均響應(yīng)時(shí)間是t,當(dāng)有你n個(gè)用戶使用時(shí),每個(gè)用戶看到的響應(yīng)時(shí)間通常并不是n×t,而往往比n×t小很多(當(dāng)然,在某些特殊情況下也可能比n×t大,甚至大很多)。這是因?yàn)樘幚砻總€(gè)請(qǐng)求需要用到很多資源,由于每個(gè)請(qǐng)求的處理過程中有許多不走難以并發(fā)執(zhí)行,這導(dǎo)致在具體的一個(gè)時(shí)間點(diǎn),所占資源往往并不多。也就是說在處理單個(gè)請(qǐng)求時(shí),在每個(gè)時(shí)間點(diǎn)都可能有許多資源被閑置,當(dāng)處理多個(gè)請(qǐng)求時(shí),如果資源配置合理,每個(gè)用戶看到的平均響應(yīng)時(shí)間并不隨用戶數(shù)的增加而線性增加。實(shí)際上,不同系統(tǒng)的平均響應(yīng)時(shí)間隨用戶數(shù)增加而增長(zhǎng)的速度也不大相同,這也是采用吞吐量來度量并發(fā)系統(tǒng)的性能的主要原因。一般而言,吞吐量是一個(gè)比較通用的指標(biāo),兩個(gè)具有不同用戶數(shù)和用戶使用模式的系統(tǒng),如果其大吞吐量基本一致,則可以判斷兩個(gè)系統(tǒng)的處理能力基本一致。
3. 并發(fā)用戶數(shù)
并發(fā)用戶數(shù)是指系統(tǒng)可以同時(shí)承載的正常使用系統(tǒng)功能的用戶的數(shù)量。與吞吐量相比,并發(fā)用戶數(shù)是一個(gè)更直觀但也更籠統(tǒng)的性能指標(biāo)。實(shí)際上,并發(fā)用戶數(shù)是一個(gè)非常不準(zhǔn)確的指標(biāo),因?yàn)橛脩舨煌氖褂媚J綍?huì)導(dǎo)致不同用戶在單位時(shí)間發(fā)出不同數(shù)量的請(qǐng)求。一網(wǎng)站系統(tǒng)為例,假設(shè)用戶只有注冊(cè)后才能使用,但注冊(cè)用戶并不是每時(shí)每刻都在使用該網(wǎng)站,因此具體一個(gè)時(shí)刻只有部分注冊(cè)用戶同時(shí)在線,在線用戶就在瀏覽網(wǎng)站時(shí)會(huì)花很多時(shí)間閱讀網(wǎng)站上的信息,因而具體一個(gè)時(shí)刻只有部分在線用戶同時(shí)向系統(tǒng)發(fā)出請(qǐng)求。這樣,對(duì)于網(wǎng)站系統(tǒng)我們會(huì)有三個(gè)關(guān)于用戶數(shù)的統(tǒng)計(jì)數(shù)字:注冊(cè)用戶數(shù)、在線用戶數(shù)和同時(shí)發(fā)請(qǐng)求用戶數(shù)。由于注冊(cè)用戶可能長(zhǎng)時(shí)間不登陸網(wǎng)站,使用注冊(cè)用戶數(shù)作為性能指標(biāo)會(huì)造成很大的誤差。而在線用戶數(shù)和同事發(fā)請(qǐng)求用戶數(shù)都可以作為性能指標(biāo)。相比而言,以在線用戶作為性能指標(biāo)更直觀些,而以同時(shí)發(fā)請(qǐng)求用戶數(shù)作為性能指標(biāo)更準(zhǔn)確些。
4. QPS每秒查詢率(Query Per Second)
每秒查詢率QPS是對(duì)一個(gè)特定的查詢服務(wù)器在規(guī)定時(shí)間內(nèi)所處理流量多少的衡量標(biāo)準(zhǔn),在因特網(wǎng)上,作為域名系統(tǒng)服務(wù)器的機(jī)器的性能經(jīng)常用每秒查詢率來衡量。對(duì)應(yīng)fetches/sec,即每秒的響應(yīng)請(qǐng)求數(shù),也即是大吞吐能力。
從以上概念來看吞吐量和響應(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提升帶來什么?QPS提升說明單臺(tái)服務(wù)器處理能力提升,如果QPS提升1倍,服務(wù)器資源減少1半,或者說服務(wù)器不變可以支撐2倍的請(qǐng)求量。
如何提升QPS?
1)減少CPU的使用時(shí)間(哪些代碼會(huì)消耗CPU:循環(huán)、字符串拼接\查找\替換、編碼\解碼、序列化\反序列化、壓縮)
2)增加CPU的數(shù)量
3)減少同步鎖
(如果CPU不能被壓到85%以上,并且此時(shí)的QPS已經(jīng)達(dá)到了峰值,則說明另有瓶頸,接下去關(guān)注內(nèi)存)
RT提升帶來什么?
響應(yīng)速度提升說明單詞請(qǐng)求的處理速度提升,用戶感覺任務(wù)處理速度更快,系統(tǒng)反應(yīng)速度更快。當(dāng)然在處理能力不變的情況下,RT的提升必然會(huì)提升QPS。
如何提升RT?
1)減少I/O的響應(yīng)時(shí)間
2)減少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://muchs.cn/news14/100564.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、App開發(fā)、關(guān)鍵詞優(yōu)化、軟件開發(fā)、App設(shè)計(jì)、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容