QPS
原理:每天80%的訪(fǎng)問(wèn)集中在20%的時(shí)間里,這20%時(shí)間叫做峰值時(shí)間。
公式:( 總PV數(shù) * 80% ) / ( 每天秒數(shù) * 20% ) = 峰值時(shí)間每秒請(qǐng)求數(shù)(QPS) 。
機(jī)器:峰值時(shí)間每秒QPS / 單臺(tái)機(jī)器的QPS = 需要的機(jī)器 。
每天300w PV 的在單臺(tái)機(jī)器上,這臺(tái)機(jī)器需要多少Q(mào)PS?
( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)。
一般需要達(dá)到139QPS,因?yàn)槭欠逯怠?/p>
QPS
每秒查詢(xún)率QPS是對(duì)一個(gè)特定的查詢(xún)服務(wù)器在規(guī)定時(shí)間內(nèi)所處理流量多少的衡量標(biāo)準(zhǔn)。
每秒查詢(xún)率
因特網(wǎng)上,經(jīng)常用每秒查詢(xún)率來(lái)衡量域名系統(tǒng)服務(wù)器的機(jī)器的性能,其即為QPS。
對(duì)應(yīng)fetches/sec,即每秒的響應(yīng)請(qǐng)求數(shù),也即是最大吞吐能力。
計(jì)算機(jī)語(yǔ)言
一種計(jì)算機(jī)編程語(yǔ)言。用于數(shù)據(jù)分析和報(bào)表產(chǎn)出。運(yùn)作的平臺(tái)是MRDCL。支持的數(shù)據(jù)文件包括ASC格式和CSI格式。
其中CSI格式為QPS獨(dú)有數(shù)據(jù)格式。是極其專(zhuān)業(yè)的用于數(shù)據(jù)分析、數(shù)據(jù)清理和報(bào)表產(chǎn)出的語(yǔ)言,目前應(yīng)用最廣的是市場(chǎng)調(diào)研行業(yè)。中國(guó)國(guó)內(nèi)運(yùn)用的相對(duì)比較少。
開(kāi)發(fā)的原因,需要對(duì)吞吐量(TPS)、QPS、并發(fā)數(shù)、響應(yīng)時(shí)間(RT)幾個(gè)概念做下了解,查自百度百科,記錄如下:
1. 響應(yīng)時(shí)間(RT)
響應(yīng)時(shí)間是指系統(tǒng)對(duì)請(qǐng)求作出響應(yīng)的時(shí)間。直觀(guān)上看,這個(gè)指標(biāo)與人對(duì)軟件性能的主觀(guān)感受是非常一致的,因?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è)更直觀(guān)但也更籠統(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)更直觀(guān)些,而以同時(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)是類(lèi)似于TPS,只是應(yīng)用于特定場(chǎng)景的吞吐量)
總結(jié)
到此這篇關(guān)于吞吐量(TPS)、QPS、并發(fā)數(shù)、響應(yīng)時(shí)間(RT)概念的文章就介紹到這了,更多相關(guān)吞吐量并發(fā)數(shù)響應(yīng)時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 如何使用mysqladmin獲取一個(gè)mysql實(shí)例當(dāng)前的TPS和QPS
- Python并發(fā)請(qǐng)求下限制QPS(每秒查詢(xún)率)的實(shí)現(xiàn)代碼
- TPS(吞吐量)、QPS(每秒查詢(xún)率)、并發(fā)數(shù)、RT(響應(yīng)時(shí)間)是什么意思
- Mysql數(shù)據(jù)庫(kù)的QPS和TPS的意義和計(jì)算方法
- 教你如何精準(zhǔn)統(tǒng)計(jì)出你的接口"QPS"