新手站長(zhǎng)躲不過(guò)的一個(gè)問題就是給自己的站配置什么樣的服務(wù)器?我們?cè)趺礃硬拍芑ㄗ钌俚某杀咀庥酶咦詈线m的服務(wù)器?今天,我們的話題主要就是淺談這個(gè)站長(zhǎng)們繞不開的問題,怎么根據(jù)網(wǎng)站訪問量、并發(fā)量來(lái)推算租用何種配置服務(wù)器?比如,你的網(wǎng)站每天5萬(wàn)PV,那你的服務(wù)器需要什么樣的配置才能應(yīng)對(duì)這5萬(wàn)PV的請(qǐng)求呢?我們要如何計(jì)算?
在解決這個(gè)問題之前,小編有必要先跟大家科普一下這些名詞:
1)什么是PV?
PV是page view的簡(jiǎn)寫。PV是指頁(yè)面的訪問次數(shù),每打開或刷新一次頁(yè)面,就算做一個(gè)pv。
2)什么是吞吐量(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ù)。
3)什么是并發(fā)用戶數(shù)?
即指同時(shí)執(zhí)行操作的用戶(線程數(shù))。
4)什么是響應(yīng)時(shí)間?
即從請(qǐng)求發(fā)出到收到響應(yīng)花費(fèi)的時(shí)間 。
5)什么是QPS ?
QPS全稱為Queries Per Second,指每秒處理的查詢數(shù)(如果是數(shù)據(jù)庫(kù),就相當(dāng)于讀取)
6)什么是TPS?
TPS全稱為Transactions Per Second,指每秒處理的事務(wù)數(shù)(如果是數(shù)據(jù)庫(kù),就相當(dāng)于寫入、修改)
7)什么是IOPS?
即每秒磁盤進(jìn)行的I/O操作次數(shù)。
計(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/每天。
留足余量,應(yīng)對(duì)突然事件
以上請(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ō)明:這里每秒N個(gè)請(qǐng)求,就是QPS。因?yàn)槲谊P(guān)心的是應(yīng)用程序處理業(yè)務(wù)的能力。)
帶寬預(yù)算
結(jié)合你對(duì)外的網(wǎng)絡(luò)的帶寬需求,比如國(guó)內(nèi)服務(wù)器便宜但帶寬很貴,很可能你在機(jī)房是與大家共享一條100M的光纖,實(shí)際每個(gè)人可分到2M左右?guī)?。再好一點(diǎn)5M,再好一點(diǎn)雙線機(jī)房10M獨(dú)享市場(chǎng)價(jià)一般都要600RMB左右了,這個(gè)價(jià)格已經(jīng)不便宜了。
一天總流量:每個(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 注意大小寫,b是位,B是字節(jié),差了8倍),但所有請(qǐng)求不可能是均勻分布的,當(dāng)有高峰時(shí)5M帶寬一定不夠,X2倍就是10M帶寬。10M帶寬基本可以滿足要求。
以上是假設(shè)每個(gè)頁(yè)面20k字節(jié),基本不包含圖片,要是包含圖片就更大了,10M帶寬也不能滿足要求了。所以在租用服務(wù)器怎么配置不能生搬硬套,需要結(jié)合自己站點(diǎn)的實(shí)際情況來(lái)合計(jì)估算。
最后,結(jié)合實(shí)際需求和過(guò)往運(yùn)營(yíng)經(jīng)驗(yàn),來(lái)配置CPU、內(nèi)存、帶寬、硬盤及線路。切記不可生搬硬套,要根據(jù)網(wǎng)站實(shí)際運(yùn)營(yíng)情況靈活變通。