普通的Web系統(tǒng),關(guān)于并發(fā)量與用戶數(shù)的關(guān)系計(jì)算如下:
1.單臺(tái)服務(wù)器最高并發(fā)數(shù)2000,這是業(yè)內(nèi)的大牛通過各種架構(gòu)/優(yōu)化/技術(shù)實(shí)現(xiàn)的. 我們水平?jīng)]那么高, 但200并發(fā) 絕對(duì)是沒問題的.
2.單個(gè)請(qǐng)求的處理時(shí)間, 理論上的極值為70ms(這是內(nèi)網(wǎng)Web服務(wù)器訪問數(shù)據(jù)庫(kù)服務(wù)器的網(wǎng)絡(luò)時(shí)間), 我們水平?jīng)]那么高, 但也絕對(duì)可以在500ms內(nèi)完成一次請(qǐng)求(不包括用戶到Web服務(wù)器的網(wǎng)絡(luò)時(shí)間)
3.根據(jù)以上, 單臺(tái)服務(wù)器 每秒可響應(yīng) 400個(gè)請(qǐng)求.
4.每小時(shí)響應(yīng) 144W 請(qǐng)求.
5.每天的響應(yīng)不能簡(jiǎn)單 乘以24, 因?yàn)檎O到y(tǒng),晚上沒人用, 電子商務(wù)通常在早10,下午14點(diǎn),晚上19點(diǎn)附近會(huì)有高峰期. 根據(jù)經(jīng)驗(yàn),高峰期 一小時(shí)的請(qǐng)求量是每天請(qǐng)求量的十分之一.
即每天響應(yīng) 1440W請(qǐng)求.
6.每個(gè)頁(yè)面平均有2個(gè)請(qǐng)求(Ajax會(huì)導(dǎo)致額外的請(qǐng)求), 靜態(tài)資源請(qǐng)求不計(jì)入,這個(gè)只跟網(wǎng)絡(luò)有關(guān),即,每天響應(yīng)720W個(gè)頁(yè)面
7.根據(jù)經(jīng)驗(yàn),在網(wǎng)站發(fā)生實(shí)質(zhì)性業(yè)務(wù)的用戶 ,平均打開100個(gè)頁(yè)面(這個(gè)是往高了說的). 即 單臺(tái)服務(wù)器 每天可支持 7.2W個(gè)實(shí)質(zhì)交易.
8.根據(jù)經(jīng)驗(yàn) 每天 登錄用戶數(shù)是交易用戶數(shù)的十倍,但頁(yè)面打開數(shù)極少,通常是1-10, 這個(gè)忽略. 即, 單臺(tái)服務(wù)器每天 有 72W個(gè)登錄用戶.
9.根據(jù)經(jīng)驗(yàn),注冊(cè)用戶是每天登錄用戶的10倍(如果沒有刷僵尸用戶的話), 單臺(tái)服務(wù)器可以為 720W個(gè)注冊(cè)用戶服務(wù).
10.使用負(fù)載均衡后,通常負(fù)載均衡服務(wù)器 會(huì)是 2/4/8/16 這個(gè)規(guī)模 , 通常不會(huì)超過16. 即 16個(gè)負(fù)載均衡服務(wù)器 可 服務(wù) 1.15億用戶(這個(gè)至少也是京東的級(jí)別了)
最后: 如果用戶數(shù)超過以上計(jì)算,或者業(yè)務(wù)復(fù)雜度導(dǎo)致無(wú)法實(shí)現(xiàn)200并發(fā)(如:復(fù)雜業(yè)務(wù),幾十個(gè)流程),那么 我們會(huì)根據(jù)實(shí)際項(xiàng)目情況 采取 其他技術(shù)手段來提高 服務(wù)器集群的響應(yīng)能力
如: 緩存memcache, 更高速的數(shù)據(jù)庫(kù)mongo/redis,動(dòng)靜分離CDN,數(shù)據(jù)庫(kù)分庫(kù)/分表
再比如: 部分關(guān)鍵節(jié)點(diǎn)采用Java進(jìn)行處理, 這里并不是說Java就比PHP好, 但在極限速度響應(yīng)上,Java的確比PHP快, Java進(jìn)程駐留內(nèi)存啊~~~