並發的影響因素:帶寬、web server(含php)、static server、數據庫
帶寬價格:
靜態IP企業寬帶 | 5M | 10M | 50M | 100M | 200M |
盛大雲 華東雙線 | 216/月 | 396 | 1836 | 3636 | 7236 |
盛大雲 華北BGP | 318 | 618 | 3018 | 6018 | 12018 |
阿里雲 BGP | 100/兆/月 | 5k | 1w | 2w | |
Amazon EC2 流量計費 | $3313 | ||||
idcexpert.cn | 1.5w | 10w | |||
linkcloud.cn 雙線 也可流量計費 | 168 | 480 | 3300 | 6600 |
CDN(雲分發)價格:
50TB/月 | 100TB/月 | |
阿里雲 | 3.8w/月 | 6.9w/月 |
盛大雲 | 9k/月 | 1.7w/月 |
網宿 | ||
藍汛 |
普通web服務的並發和帶寬的計算方式:
參考網宿科技●中國互聯網發展報告(2012年第二季度) ,80%的流量集中在8點至23點,即15個小時,最大訪問量約為平均值的1.7倍,如下圖:
計算方式:
平均並發 = PV / (24小時 * 3600秒 );
熱門並發 = PV * 80% / (15小時 * 3600秒 );
最大並發 = 平均並發 * 1.7;
html的head中所有css放在前面,然后是交互依賴的重要js,瀏覽器下載html的head部分,解析出css和js的鏈接,開始並行下載css和js,同時繼續下載html的body部分(js會阻塞之后的下載,但之前的不受影響)。由於html已經下載一部分了,一旦css和js下載完成,即開始渲染,顯示出一部分。
TTI(time to interact)用戶等待頁面的時間 受到 html下載、CSS下載、JS下載的影響。
0.1秒:用戶感覺他們動作的效果是立即發生的
1秒:網頁必須在1秒內顯示出來,用戶才會覺得自己在自由地瀏覽,如果慢於這個時間,他們會覺得計算機對自己的瀏覽造成阻礙。
3秒:用戶覺得白屏時間太長,可能會跑到競爭對手那里去。
10秒:用戶的情緒將達到極限,內心將開始產生疑惑,超過10秒,用戶往往會離開網站。
所以最好做到1秒之內顯示,讓用戶感到流暢,進而吸引更多的用戶。如果不能做到1秒,那一定要做到3秒以內。
按照熱門並發購買帶寬比較節約成本,可保證大部分用戶在1秒內顯示。但是當達到最高峰時,就需要排隊了。
為了讓最高峰時用戶量仍然感覺流暢,而且用戶量逐漸增長,帶寬應留有余量,按照熱門並發的1.5倍到2倍購買帶寬較好。
上線后根據實際流量,決定是否需要增加帶寬。
動態服務器:html一般為10K到幾十K,實現1秒內返回html,需要的帶寬成本小。
靜態服務器:圖片等文件較大,如果達到1秒內返回帶寬成本高,可實現3秒內返回。流量不大時,帶寬比CDN便宜。如果流量大時,帶寬成本高,使用第三方CDN服務反而便宜。
比如1000w PV:
平均並發 = 1000w / (24小時 * 3600秒 )= 115個/s;
熱門並發 = 1000w * 80% / (15小時 * 3600秒 ) = 148個/s;
最大並發 = 平均並發 * 1.7 = 195個/s;
動態服務器帶寬:假設每個HTML頁面20K(項目開發時自測),熱門並發148,需要帶寬 20K * 148 = 2.96 MB/s = 24 Mbps
靜態服務器帶寬:css(假設40K)、重要js(假設50K),需要帶寬 90K * 148 = 13.3 MB/s = 106 Mbps
css和js只需要請求一次,以后都被緩存了。所以靜態服務器的主要功能是圖片。
圖片的體積很大,假設每頁2個圖片各100K,由於圖片是並發的,所以靜態服務器的並發是148 * 2 = 296。
如保證1秒響應,需要帶寬 100K * 2 * 148 = 29.6 MB/s = 236 Mbps,如果使用盛大雲華東雙線,則費用為¥9k/月。這時可以考慮使用CDN,價格一樣,但距離用戶更近,速度更快。
如保證3秒響應,需要帶寬 80Mbps。
小米論壇:PV 2000w,熱門並發300。頁面20K,其余是圖片等靜態資源,每張圖片約300K(因為未壓縮),無圖的帖子約70K,有圖的帖子從500K到3M或更大。平均每個頁面約2張圖片。
動態服務器最小帶寬:20K * 300 = 6M/s = 48 Mbps(實際動態靜態合計購買了800M),
靜態服務器最小帶寬:300K * 2 * 300 = 180 M/s = 1440 Mbps,如果保證1秒響應,帶寬費用為¥8.7w/月,不如用CDN(實際使用了CDN)。
糗事百科:PV預計1000w,熱門並發150。圖片較少,每頁90至400k。其中頁面10K,其余是圖片等靜態資源,每張圖70K,平均每個頁面4張圖。
動態服務器帶寬:10K * 150 = 1.5 M/s = 12 Mbps,
靜態服務器帶寬:70K * 4 * 150 = 42M/s = 336 Mbps
參考資料: