1.4 服務器主要部件redis
1) 電源數據庫
生產中通常核心業務用雙電源,雙線供電(AB路:從不一樣地方拉電纜到機房),若是是集羣狀況能夠不用雙電源。緩存
電錶圖片:此處待插入圖片服務器
2) CPU微信
負責運算和控制,是服務器性能效率最爲重要的部件。常見品牌:Intel 、AMD架構
通常企業服務器:CPU顆數2-4顆,單顆CPU 4核心,內存總量通常是16G-256G(32G,64G)。併發
虛擬化宿主機:CPU顆數4-8顆,內存總量通常是48-128G,6-10個虛擬機。運維
3) 內存ide
CPU和磁盤之間的緩衝設備,臨時存儲器。通常程序運行的時候會被調度到內存中執行,服務器關閉、重啓或程序關閉以後,自動從內存中釋放掉。memcached
進程:正在運行着的程序,進程運行就是系統把程序放在內存裏執行。
守護進程:持續保持運行着的程序。
程序:C/PHP/Java,代碼文件,靜態的,放在磁盤裏的數據。
企業案例:
1. 門戶極端案例:大併發寫入案例(搶紅包、微博)
高併發,大數據量寫數據:會把數據先寫到內存,達到必定量,而後再定時或者定量的寫入到磁盤(減小IO),最終仍是會加載到內存中再對外提供訪問。
特色:
a 優勢:寫數據到內存,性能高速度快(微博,微信,SNS,秒殺)。
淘寶應對秒殺起碼要準備2-3個月,經過程序把對外秒殺的數據放到全國的機房服務器內存中,還要讓北京的用戶訪問北京的機房,上海的用戶訪問上海的機房。
b 缺點:可能會丟失一部分在內存中尚未來得及寫入磁盤的數據。
解決方法:
(1) 服務器主板上安裝電池(應該是指陣列卡上的電池),在斷電瞬間把內存中的數據寫入磁盤(陣列卡必須啓用回寫策略)。這點還須要在瞭解清楚。
(2) UPS不間斷供電(持續供電10分鐘,IDC機房聽說UPS一般可供電1小時以上)。
(3) 選雙路電的機房,使用雙電源、分別接不一樣路的電。
2. 大中小企業案例:併發不是很大、數據也不是特別大的網站,讀多寫少的業務,先把數據寫入到磁盤,而後經過程序把數據讀入到內存裏,再對外經過讀內存提供訪問服務。
記住一句話:緩存無處不在!
3. buffer和cache有什麼區別?
寫入數據到內存裏,這個數據的內存空間稱爲緩衝區(buffer)。
從內存裏讀取數據,這個數據的內存空間稱爲緩存區(cache)。
因爲99%的網站都是讀取爲主,寫入爲輔,讀寫比例至少是10:1,因此併發寫入不是問題。
提醒:這裏提到的內存和磁盤,是由多臺機器組成的集羣架構環境:memcached(純內存)/redis(內存加磁盤)。
4)磁盤
永久存放數據的存儲器,磁盤上也是有緩存的。
經常使用的3.5英寸機械硬盤(IDE、SATA、SAS),讀寫性能比內存差不少,因此工做中,咱們纔會把大量的數據緩存到內存,寫入緩衝區,這是當今互聯網網站必備的解決方案。
磁盤接口類型:IDE、SCSI、SATA、SAS、SSD,IDE、SCSI已經退出歷史舞臺。
性能與價格:SSD>SAS>SATA
企業應用:(一定是選擇企業級硬盤,適合7 X 24小時不間斷訪問)
1 常規正式工做場景選SAS硬盤(轉速10000RPM或15000RPM,機械硬盤轉數高的性能好)。
2 不對外提供訪問的服務器,例如:線下的備份服務器,可選SATA(7200RPM或10000RPM)。SATA硬盤特色:容量大價格便宜,但速度比較慢。
3 高併發訪問,少數據量,能夠選擇SSD。
淘寶網企業案例:服務器會把SATA和SSD結合起來用,熱點存儲,程序動態調度(按照數據被訪問的頻繁程度把數據在SSD和SATA之間移動)。
小結:企業網站來說,都會盡可能讓用戶從內存中讀取數據,而不是硬盤。幾乎全部企業運維和架構師的網站優化、服務器、軟件的優化都是磁盤和內存的使用比例的優化。
5)陣列卡(RAID卡),RAID:磁盤冗餘陣列
基本做用:網站數據量很大,單塊盤裝不下,有了多塊盤,又不想多個盤存放數據,就須要工具把全部硬盤整合成一個大磁盤,再在這個大磁盤(虛擬磁盤)上分區放數據。並且多塊盤一塊兒放數據能夠有冗餘(備份)。
RAID有多種整合方式:RAID 0 1 5 0+1(1+0):這幾種最經常使用,其它還有RAID 6(沒什麼必要用)。有了RAID卡後,通常磁盤就會接在RAID卡上,而不是接在主板上了。
表明圖片:
1. DELL-H730P_Mini-2G-機架式服務器陣列卡
2. DELL-H730P_大卡-2G-塔式服務器陣列卡
RAID 0 特色:虛擬磁盤容量=單盤容量*磁盤數量(N)。磁盤數量能夠是1個或N個(視陣列卡而定),容量沒有損失,讀寫速度快,但數據沒有冗餘容易丟失(N塊磁盤作成RAID 0,只要有一塊磁盤損壞,數據所有丟失)。用在比較極端的場合(數據徹底不重要)。
RAID 1 特色:只能是兩塊磁盤,兩塊磁盤容量能夠不同,虛擬磁盤容量=單盤容量(或容量較少的磁盤容量)。速度跟單個磁盤差很少,數據有冗餘(兩塊磁盤的數據徹底同樣)。
RAID 5 特色:至少要3塊磁盤,虛擬磁盤容量=單盤容量*(N-1),損失一個硬盤容量。讀寫性能通常,介於RAID 0 和RAID 1之間。容許損壞一塊磁盤,數據不會丟失。
RAID 1+0、RAID 0+1:至少4快磁盤,虛擬磁盤容量=單塊磁盤容量*N/2,容量也是損失一半。
冗餘性從好到壞:RAID 1、RAID 1+0,RAID 0+1,RAID 5,RAID 0
性能從好到壞:RAID 0,RAID 1+0、RAID 0+1,RAID 5,RAID 1
成本從低到高:RAID 0,RAID 5,RAID 1,RAID 1+0、RAID 0+1
注意:RAID 1+0與RAID 0+1是有區別的。RAID 1+0冗餘性更好。
不一樣RAID級別的企業應用舉例:根據數據的存儲和訪問需求,去選擇RAID
1. 互聯網公司:
a 單臺服務器,很重要,盤很少,系統盤用RAID 1
b 數據庫服務器,主庫RAID 1+0(由於主庫很重要且很差擴展也很差備份),
從庫RAID 5/RAID 0(不差錢的話都用RAID 1+0)
c WEB服務器,若是數據量不大的話,能夠選用RAID 5或 RAID 0(單盤)
d 監控/應用服務器,RAID 0 或RAID 5