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