聽到過12306春節**崩了,聽說啊裡每秒種能處理多少多少資料,對於普通人毫無概念,其實對於內門人估計沒什麼概念。
現在只是記錄乙個我個人的理解,在此別噴,當我放p。。。。。。。。。
首先應該建立乙個概念:1 伺服器能跑多快?用什麼恒量?
2 每處理乙個客戶要占用伺服器多長時間?
比如,1.0 伺服器每秒100萬條指令 2.0 每處理乙個客戶要占用一條指令。在完美情況下,一秒種能處理一百萬個客戶。
問題一:實際情況是,有些客戶用時比較長,當乙個客戶要求一千萬條指令,且這個客戶排在第一,如果是序列處理,伺服器將先處理這個高時間客戶,用去10秒,而後面99萬9千9百9十9個客戶要等十秒。這是不好體念,在此必須並行處理,引入了時間片概念。
其實服務模型與cpu排程策略一樣,每個客服應該有自己的時間片,如果以執行緒或程序為每個客戶開乙個時間片,如果有一億客戶,開一億個程序或執行緒,那開消太大了。所以如果知道客戶的處理時間,按客戶處理時間分類,如果類太大,又可以分組,每個組開乙個時間片,那就可以解決上面問題。
問題二:當資料量很大時候,一台機器,即要處理資料,又要存放與檢索資料,那會不太好。幹麻不多用一台器機作資料庫呢
用一台機器存放與檢索資料。(其實即然可以一台,為什麼不可以兩台以上呢?)
用一台機器 處理資料。(同理可以用兩台)
關於伺服器的負載均衡問題
即為多個不同的ip位址配置同乙個網域名稱,這樣不同的客戶機訪問同乙個域字的時候就會得到不同的ip位址。使得不同的客戶端訪問不同的伺服器,從而達到負載均衡的目的。一般採取輪詢訪問演算法。優點 簡單實用,伺服器的設定位置靈活。缺點 為了使本地dns和其他dns及時互動,保證dns資料及時更新使位址隨機分...
伺服器模型
伺服器模型 1 迴圈伺服器模型 tcp 迴圈伺服器 udp 迴圈伺服器 2 併發伺服器 tcp 併發伺服器 父子程序實現併發伺服器 父親程序 接收請求。accept 兒子程序 處理具體客戶端需求。send recv 注意點 殭屍程序,父親活著,兒子死亡,父親沒有為兒子程序收屍,會產生殭屍程序。避免殭...
伺服器模型
在使用socket進行網路程式設計時,首先要選擇乙個合適的伺服器模型是很重要的。在網路程式裡,通常都是乙個伺服器服務多個客戶機,為了處理多個客戶機的請求,伺服器端的程式有不同的處理方式。迭代模型算是最早期的伺服器模型,其核心實現是每來乙個使用者,然後為這個使用者服務到底,過程中不接受任何新的使用者請...