實際上這不是一個很好回答的問題,如果只是要簡短回答,就是依照實際狀況去調(diào)整,但這樣實在太籠統(tǒng)了。 這篇文章提供了一個思考方向,讓您可以與自己的開發(fā)公司一起去檢測項目能支撐的人數(shù)。文章后半段還會提供您一些建議,讓您想要做特價促銷活動時,不會把主機(jī)給搞宕機(jī)了。
不只現(xiàn)實世界要擔(dān)心人潮,網(wǎng)站的人潮一樣可以讓您的業(yè)務(wù)癱瘓
關(guān)于項目的用戶乘載量
我們最常被客戶問到的問題,像是:網(wǎng)站能不能承載 1000-3000 人同時上線?
或是:你們家做的網(wǎng)站能乘載多少人? 之類的。
其實這個問題沒有固定解答,一般來說,我們會請您先思考以下幾個要點:
用戶在網(wǎng)站上活動的模式? 目標(biāo)是獲得什么?
有沒有要搶購某個商品
有沒有要及時刷新? 大家會不會一直重新刷新?
假設(shè)要乘載 3000 人,這 3000 人會是靜態(tài)看內(nèi)容? 還是會一直與網(wǎng)站或小程序互動?
是同一時間開放進(jìn)到網(wǎng)站或小程序內(nèi)? 還是在不同的時間斷斷續(xù)續(xù)進(jìn)入網(wǎng)站或小程序?
這些問題能夠幫助您先思考好自己公司的業(yè)務(wù)性質(zhì)是什么,以及如何與消費(fèi)者互動,有了這些問題的解答后,自然知道網(wǎng)站的承載量大概多大。
以上面的問題來說,假如您的網(wǎng)站偏向新聞類型,或者單純的企業(yè)形象官網(wǎng),由于都是靜態(tài)頁面,所以在小型主機(jī)上,每分鐘網(wǎng)站可能可以支撐100次頁面點擊。 假設(shè)用戶觀看每篇文章,大概會花 5 分鐘,那么每分鐘可以乘載的人數(shù)可以算成是 500 人。
再者,一臺小型主機(jī),通常的承載量是每分鐘 100 次點擊,中型主機(jī)可能可以達(dá)到 300-500次點擊。 這樣會很少嗎? 其實每分鐘這幾百人之中,只要有1個人購買 1000 元的商品,一天可能就有百萬營業(yè)額了。 所以一般的電商不會去強(qiáng)調(diào)【高承載】,而是強(qiáng)調(diào)【轉(zhuǎn)換率】,自然沒必要使用太過強(qiáng)大的主機(jī)。
如果您可以了解以上的舉例,我們接下來就可以提供一些更詳細(xì)的說明:
基礎(chǔ)知識一:單位時間
網(wǎng)站的乘載量,要看「單位時間內(nèi)點擊次數(shù)」,而不是「同時多少人上線」。
狀況A: 新聞網(wǎng)站,同時3000人在線上,但每個人看文章五分鐘,才點下一篇文章,效能壓力很低。
換算一分鐘600次點擊,約每秒十次點擊。
狀況B: 但游戲、電商、活動類網(wǎng)站,上線的人不停點擊、留言、購買,那可能 500-1000 人,網(wǎng)站就有點撐不住了。
狀況C: 若數(shù)秒鐘內(nèi)大家搶著打開同一個頁面,不停點擊,則 100 人左右網(wǎng)站就會爆掉。
用現(xiàn)實世界來比喻,一間書店可以有500人在逛,但一條走廊或一個結(jié)賬臺塞超過30人就會炸掉。
基礎(chǔ)知識二:交易與搶購
案例一:
另一種狀況是搶購或交易。 假設(shè)我在程序內(nèi)有一個地方存放商品,這個商品有一個數(shù)量是 1000。
現(xiàn)在有3000人要在同一秒鐘開放搶購這個商品,那么所有人要購買時都會進(jìn)行以下檢查動作:
系統(tǒng)去檢查商品存在
系統(tǒng)去檢查商品庫存不為0
系統(tǒng)鎖住一個商品,讓這個商品等待結(jié)賬
如果結(jié)賬成功,正式扣掉商品庫存 -1
如果結(jié)賬失敗,把這個商品庫存是放給其他人搶購
從以上可以看到,3000人都在搶一個商品的數(shù)量計算。 而且有鎖住等待結(jié)賬的時間差,再加上物理上,這個數(shù)字是存在硬盤的某一個位置,所有人搶著在硬盤某一個位置讀取與寫入資料,超出物理極限。
結(jié)果:除了前幾十人運(yùn)氣好結(jié)賬成功,后面所有人鎖住互卡,一個人都買不到。 主機(jī)買再貴都沒用,因為都在搶同一個物理位置,只有分布式系統(tǒng)與排隊機(jī)制才能解決。 但這兩者都是非常昂貴的,后面會再介紹到。
案例二:
一家老牌拉面店,大排長龍,店內(nèi)有三十個座位。
如果我們一次開放三百人進(jìn)店內(nèi),店里塞爆沒位子做,一個人都吃不到,老板也沒辦法煮面。
可行作法:所有人要么事前預(yù)約,要么現(xiàn)場拿號碼牌叫號排隊,或者號碼牌會直接規(guī)定用餐時間幾點到幾點,店內(nèi)就是一次服務(wù)三十人。 最后一整天可能有一千人可以成功吃到拉面,剩下的明天請早。
這個案例,講的就是【排隊機(jī)制】。 無論如何,您都不該讓「所有」用戶在同一時間搶購。 應(yīng)該要讓人潮陸續(xù)慢慢進(jìn)場,先到者先買,這樣才能夠有效消化流量。
排隊機(jī)制
至于排隊機(jī)制要如何建立,假設(shè)是大型公司如 Amazon ,可以雇用工程師自己制作。 但一般小電商不可能負(fù)擔(dān)的起幾千萬或幾億的云架構(gòu)成本,畢竟這個排隊系統(tǒng)本身就要扛大量的負(fù)載。
所以中小型電商大多是靠外掛排隊機(jī)制解決,電商網(wǎng)站先建立好搶購頁面,但不要發(fā)布網(wǎng)址。 將這個網(wǎng)址包在排隊機(jī)制提供的替代網(wǎng)址中,將這個替代網(wǎng)址發(fā)給網(wǎng)友們。 當(dāng)搶購開始時,網(wǎng)友大批進(jìn)入該網(wǎng)址,一開始人數(shù)不夠多時,替代網(wǎng)址會放行網(wǎng)友進(jìn)入網(wǎng)站購買商品。 但一旦偵測到人潮超過您設(shè)定的最高值,就開始鎖住頁面,后續(xù)的人要等前面的人離開后,才能進(jìn)入網(wǎng)站。 這樣就讓網(wǎng)站有了先來后到的機(jī)制,大家就可以依照順序購買商品了。
經(jīng)過以上介紹,希望有幫助您理解網(wǎng)站承載量的計算方式,以及如何善用排隊機(jī)制來支撐大流量營銷活動。
本文地址:http://m.blackside-inc.com//article/2022/1130/31494.html