閱讀960 返回首頁    go 人物


web服務器決定支持多少人同時在線的因素

經常遇到一些做WEB用戶谘詢服務器支持在線人數問題,在此做個簡單介紹。非技術性討論,如有疏漏或錯誤,敬請原諒和指導。
以普通單路服務器為例,CPU處理多個進程,並非是同一時刻處理的,(可以精確到1/1000秒),而是串行處理的。CPU通常把1秒的時間分割成N份,然後按照順序,分別用1秒中的第1份處理第一個進程,用第二份處理第二個進程……用第N份處理第N個進程,也就是說CPU的處理能力,不是在於這一秒中內提交了多少申請,而是在於係統把CPU時間分了多少份。

例如通常係統默認進程數可以支持256個,而CPU將1秒分成100份的話,那麼剩餘的156個進程就要在下一秒中執行了,網卡得到請求信息後進入內存進行排隊,所以通常內存大的話,會感覺支持在線人數多一些,而實質上是與CPU劃分時間片是有關的,性能越高的CPU劃分的時間片就可能越多,即處理速度就快。
當然在此說的一個進程並非隻一個請求,一個進程通常可以包含100個相同請求,這樣計算的話,CPU在1秒鍾內可處理請求數為100*100=10000,然而我們知道,大部分用戶不可能在一分鍾內隻提交一次請求,即隻點擊一個鏈接。

此外,帶寬方麵是支持在線人數的最關鍵的一個因素,服務器按照咱們所保證的最大帶寬是5M,即5Mbit/s,相應的,服務器的數據最高傳輸速度應為5/8byte/s*1024=640K/s 。一分鍾流量大約640K/S*60=38400K,假使每個用戶一分鍾內占用10K,即該一分鍾內支持在線訪問人數為3840人。(圖片類和視頻類站點不在此例,因為圖片類視頻類每個用戶一分鍾內絕對超過10K),但是,我們並不能保證每個用戶在一分鍾內隻訪問一個該站鏈接,假如每個用戶在一分鍾內點該站兩個鏈接的話,那麼支持在線人數應該在2000以下。
綜上所說,一台中低端服務器通常最高支持在線人數為2000人左右,而且隻適合普通WEB服務器和文字型論壇。不包括圖片類下載類視頻類等。其實一台服務器如果真是在線人數達到這麼多了,也就需要加機器和帶寬了!

最後更新:2017-01-04 22:34:53

  上一篇:go linux開機啟動服務的修改與查看
  下一篇:go Windows7以及Windows XP如何檢查網絡