您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)怎么計(jì)算服務(wù)器能夠承受多大的PV,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
你想建設(shè)一個(gè)能承受500萬(wàn)PV/每天的網(wǎng)站嗎? 500萬(wàn)PV是什么概念?服務(wù)器每秒要處理多少個(gè)請(qǐng)求才能應(yīng)對(duì)?如果計(jì)算呢?
PV是什么:
PV是page view的簡(jiǎn)寫(xiě)。PV是指頁(yè)面的訪問(wèn)次數(shù),每打開(kāi)或刷新一次頁(yè)面,就算做一個(gè)pv。
計(jì)算模型:
每臺(tái)服務(wù)器每秒處理請(qǐng)求的數(shù)量=((80%總PV量)/(24小時(shí)60分60秒40%)) / 服務(wù)器數(shù)量 。
其中關(guān)鍵的參數(shù)是80%、40%。表示一天中有80%的請(qǐng)求發(fā)生在一天的40%的時(shí)間內(nèi)。24小時(shí)的40%是9.6小時(shí),有80%的請(qǐng)求發(fā)生一天的9.6個(gè)小時(shí)當(dāng)中(很適合互聯(lián)網(wǎng)的應(yīng)用,白天請(qǐng)求多,晚上請(qǐng)求少)。
簡(jiǎn)單計(jì)算的結(jié)果:
((80%500萬(wàn))/(24小時(shí)60分60秒40%))/1 = 115.7個(gè)請(qǐng)求/秒
((80%100萬(wàn))/(24小時(shí)60分60秒40%))/1 = 23.1個(gè)請(qǐng)求/秒
初步結(jié)論:
現(xiàn)在我們?cè)谧鰤毫y(cè)試時(shí),就有了標(biāo)準(zhǔn),如果你的服務(wù)器一秒能處理115.7個(gè)請(qǐng)求,就可以承受500萬(wàn)PV/每天。如果你的服務(wù)器一秒能處理23.1個(gè)請(qǐng)求,就可以承受100萬(wàn)PV/每天。
留足余量:
以上請(qǐng)求數(shù)量是均勻的分布在白天的9.6個(gè)小時(shí)中,但實(shí)際情況并不會(huì)這么均勻的分布,會(huì)有高峰有低谷。為了應(yīng)對(duì)高峰時(shí)段,應(yīng)該留一些余地,最少也要x2倍,x3倍也不為過(guò)。
115.7個(gè)請(qǐng)求/秒 *2倍=231.4個(gè)請(qǐng)求/秒
115.7個(gè)請(qǐng)求/秒 *3倍=347.1個(gè)請(qǐng)求/秒
23.1個(gè)請(qǐng)求/秒 *2倍=46.2個(gè)請(qǐng)求/秒
23.1個(gè)請(qǐng)求/秒 3倍=69.3個(gè)請(qǐng)求/秒
最終結(jié)論:
如果你的服務(wù)器一秒能處理231.4--347.1個(gè)請(qǐng)求/秒,就可以應(yīng)對(duì)平均500萬(wàn)PV/每天。
如果你的服務(wù)器一秒能處理46.2--69.3個(gè)請(qǐng)求,就可以應(yīng)對(duì)平均100萬(wàn)PV/每天。
說(shuō)明:
這里說(shuō)明每秒N個(gè)請(qǐng)求,就是QPS。因?yàn)槲谊P(guān)心的是應(yīng)用程序處理業(yè)務(wù)的能力。
實(shí)際經(jīng)驗(yàn):
1、根據(jù)實(shí)際經(jīng)驗(yàn),采用兩臺(tái)常規(guī)配置的機(jī)架式服務(wù)器,配置是很常見(jiàn)的配置,例如一個(gè)4核CPU+4G內(nèi)存+服務(wù)器SAS硬盤(pán)。
2、硬盤(pán)的性能很重要,由其是數(shù)據(jù)庫(kù)服務(wù)器。一般的服務(wù)器都配1.5萬(wàn)轉(zhuǎn)的SAS硬盤(pán),高級(jí)一點(diǎn)的可以配SSD固態(tài)硬盤(pán),性能會(huì)更好。最最最最重要的指標(biāo)是“隨機(jī)讀寫(xiě)性能”而不是“順序讀寫(xiě)性能”。(本例還是配置最常見(jiàn)的1.5萬(wàn)轉(zhuǎn)的SAS硬盤(pán)吧)
3、一臺(tái)服務(wù)器跑Tomcat運(yùn)行j2ee程序,一臺(tái)服務(wù)器跑MySql數(shù)據(jù)庫(kù),程序?qū)懙闹械人?這個(gè)真的不好量化),是論壇類(lèi)型的應(yīng)用(總有回帖,不太容易做緩存,也無(wú)法靜態(tài)化)。
4、以上軟硬件情況下,是可以承受100萬(wàn)PV/每天的。(已留有余量應(yīng)對(duì)突然的訪問(wèn)高峰)
注意機(jī)房的網(wǎng)絡(luò)帶寬:
有人說(shuō)以上條件我都滿(mǎn)足了,但實(shí)際性能還是達(dá)不到目標(biāo)。這時(shí)請(qǐng)注意你對(duì)外的網(wǎng)絡(luò)的帶寬,在國(guó)內(nèi)服務(wù)器便宜但帶寬很貴,很可能你在機(jī)房是與大家共享一條100M的光纖,實(shí)際每個(gè)人可分到2M左右?guī)挕T俸靡稽c(diǎn)5M,再好一點(diǎn)雙線機(jī)房10M獨(dú)享,這已經(jīng)很貴了(北京價(jià)格)。
一天總流量:每個(gè)頁(yè)面20k字節(jié)100萬(wàn)個(gè)頁(yè)面/1024=19531M字節(jié)=19G字節(jié),
19531M/9.6小時(shí)=2034M/小時(shí)=578K字節(jié)/s 如果請(qǐng)求是均勻分布的,需要5M(640K字節(jié))帶寬(5Mb=640KB 注意大小寫(xiě),b是位,B是字節(jié),差了8倍),但所有請(qǐng)求不可能是均勻分布的,當(dāng)有高峰時(shí)5M帶寬一定不夠,X2倍就是10M帶寬。10M帶寬基本可以滿(mǎn)足要求。
以上是假設(shè)每個(gè)頁(yè)面20k字節(jié),基本不包含圖片,要是包含圖片就更大了,10M帶寬也不能滿(mǎn)足要求了。你自已計(jì)算吧。
附:性能測(cè)試基本概念
基本概念:
Throughput(吞吐量):按照常規(guī)理解網(wǎng)絡(luò)吞吐量表示在單位時(shí)間內(nèi)通過(guò)網(wǎng)卡數(shù)據(jù)量之和,其中即包括本機(jī)網(wǎng)卡發(fā)送出去的數(shù)據(jù)量也包括本機(jī)網(wǎng)卡接收到的數(shù)據(jù)量。 一個(gè)100Mb(位)的雙工網(wǎng)卡,***發(fā)送數(shù)據(jù)的速度是12.5M字節(jié)/s , ***接收數(shù)據(jù)的速度是12.5M字節(jié)/s, 可以 同時(shí) 收發(fā) 數(shù)據(jù)。
并發(fā)用戶(hù)數(shù):是同時(shí)執(zhí)行操作的用戶(hù)(線程數(shù))。
響應(yīng)時(shí)間:從請(qǐng)求發(fā)出到收到響應(yīng)花費(fèi)的時(shí)間 。
QPS - Queries Per Second 每秒處理的查詢(xún)數(shù)(如果是數(shù)據(jù)庫(kù),就相當(dāng)于讀取)
TPS - Transactions Per Second 每秒處理的事務(wù)數(shù)(如果是數(shù)據(jù)庫(kù),就相當(dāng)于寫(xiě)入、修改)
IOPS,每秒磁盤(pán)進(jìn)行的I/O操作次數(shù)
例如對(duì)某個(gè)數(shù)據(jù)庫(kù)測(cè)試,分開(kāi)兩次測(cè)QPS與TPS。
QPS(讀取)值總是高于TPS(寫(xiě)、改),并且有倍率關(guān)系,因?yàn)椋?/p>
1、數(shù)據(jù)庫(kù)對(duì)查詢(xún)可能有緩存。
2、機(jī)械硬盤(pán)或SSD硬盤(pán)的讀就是比寫(xiě)快。
JMeter測(cè)試參數(shù)說(shuō)明:
Label:每一個(gè)測(cè)試單元的名字。
Samples:表示一個(gè)測(cè)試單元一共發(fā)出了多少個(gè)請(qǐng)求。
Average:平均響應(yīng)時(shí)間——默認(rèn)情況下是單個(gè) Request 的平均響應(yīng)時(shí)間,當(dāng)使用了 Transaction Controller 時(shí),也可以以Transaction 為單位顯示平均響應(yīng)時(shí)間。,不重要。
Median:中位數(shù),也就是 50% 用戶(hù)的響應(yīng)時(shí)間,如果把響應(yīng)時(shí)間從小到大順序排序,那么50%的請(qǐng)求的響應(yīng)時(shí)間在這個(gè)范圍之內(nèi)。重要。
90% Line:90% 用戶(hù)的響應(yīng)時(shí)間,如果把響應(yīng)時(shí)間從小到大順序排序,那么90%的請(qǐng)求的響應(yīng)時(shí)間在這個(gè)范圍之內(nèi)。重要 。
Min:最小響應(yīng)時(shí)間,不重要。
Max:***響應(yīng)時(shí)間,出現(xiàn)幾率只不過(guò)是千分之一甚至萬(wàn)分之一,不重要。
Error%:本次測(cè)試中出現(xiàn)錯(cuò)誤的請(qǐng)求的數(shù)量
Throughput:吞吐量——默認(rèn)情況下表示每秒完成的請(qǐng)求數(shù)(Request per Second),當(dāng)使用了 Transaction Controller 時(shí),也可以表示類(lèi)似 LoadRunner 的 Transaction per Second 數(shù)
KB/Sec:每秒從服務(wù)器端接收 到的數(shù)據(jù)量(只是接收),相當(dāng)于LoadRunner中的Throughput/Sec
loadrunner測(cè)試參數(shù)說(shuō)明:
響應(yīng)時(shí)間: 取90%值,如果把響應(yīng)時(shí)間從小到大順序排序,那么90%的請(qǐng)求的響應(yīng)時(shí)間在這個(gè)范圍之內(nèi)。重要。
每秒點(diǎn)擊數(shù) :hits per Second,每秒鐘向服務(wù)器提交請(qǐng)求的數(shù)量。
TPS: Transaction per Second ,每秒事務(wù)數(shù),一個(gè)事務(wù)是指一個(gè)客戶(hù)機(jī)向服務(wù)器發(fā)送請(qǐng)求然后服務(wù)器做出反應(yīng)的過(guò)程
Throughput(吞吐量): Loadrunner記錄的Throughput是接收到服務(wù)器返回的所有字節(jié)數(shù)之和,與本地發(fā)出的字節(jié)數(shù)無(wú)關(guān)。
Throughput/Sec: 每秒的吞吐量。
對(duì)于BS架構(gòu)的一般分析 響應(yīng)時(shí)間、點(diǎn)擊率、吞吐量、TPS(每秒事務(wù)數(shù))。
對(duì)于CS架構(gòu)的一般分析 TPS(每秒事務(wù)數(shù))
上述就是小編為大家分享的怎么計(jì)算服務(wù)器能夠承受多大的PV了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。