第1章 互聯網企業常見服務器介紹
1.1 互聯網公司服務器品牌
- DELL(大多數公司,經常使用)
- HP
- IBM(百度在用)php
- 浪潮
- 聯想
- 航天聯志
常見服務器品牌
java
1.1.1 Dell服務器品牌
- Dell服務器官網連接,點擊便可
- 有疑問問銷售
- DELL R720
加上蓋子
python
-
DELL R620
web1.1.2 IBM品牌
1U 3550/m3 3550/m5
2U 3650
4U 3850
8U 3950
僅做了解,質量好,但價格貴,互聯網公司不太經常使用
IOE(IBM oracle emc)面試
1.1.3 HP 品牌
DL380G7/G8(2u)redis
1.2 服務器主要零部件
1.2.1 電源
至關於人體的心臟,保障電源供應,要選擇質量好的電源。生產中通常單個服務器核心業務最好使用雙電源AB線路。若是集羣(一堆機器作一件事情)的狀況能夠不用雙電源。算法
1.2.2CPU 處理器
至關於人體的大腦,負責計算機的運算和控制,是服務器性能效率的最核心部件。 常見品牌:Intel,AMDshell
- 通常的企業裏的服務器,CPU顆數2-4顆,單顆CPU是4核。內存總量通常是16-256G(32G,64G)
- 作虛擬化的宿主機(eg:安裝vmware的主機),CPU顆數4-8顆,內存總量通常是48-128G,6-10個虛擬機。
1.2.3 內存
CPU和磁盤之間的緩衝設備,是臨時存儲器(存放數據),斷電數據丟失。 通常程序運行的時候會被調度到內存中執行,服務器關閉或程序關閉以後,數據自動從內存中釋放掉。數據庫
- 片===硬盤===程序
- 播放片===被運行起來的程序===進程
- 沒完沒了播放片==(住院)==一直在運行的程序===守護進程
程序:c/php/java,代碼文件,靜態的,放在磁盤裏的數據。
進程:正在運行着的程序,進程運行就是系統把程序放在內存裏執行
守護進程(daemon):持續保持運行着的程序。編程
程序和進程的區別:
- 電影放在磁盤裏就是程序
- 看片放到內存裏就至關於進程
- 計算機重啓,內存的數據會釋放掉
從開發角度對守護進程的解釋:
運行或者執行任何服務都脫離不開計算機的底層協議TCP/IP協議,而想要操做TCP/IP協議就須要用到計算機的底層語言C語言,可是C語言用起來很麻煩,一般要實現一個很小的功能都須要寫上好幾十甚至上百行代碼,太繁瑣。因而就有人想到,將一些能夠實現某個功能的C語言代碼封裝起來,而後起一個新的名詞,那麼用這個新的名詞來告訴計算機自動執行封裝的那麼一大堆C代碼,這樣就方便多了。因而,慢慢的這類型的新詞彙多了之後,漸漸組成了如今咱們常見的編程語言,好比:java,python,C#。而咱們知道若是咱們利用xshell來遠程服務器的時候,須要經過ssh協議並訪問服務器的22端口。之因此,可以聯通,是由於服務器端始終有一個叫作sshd服務的進程在監聽着22端口,這個服務就是經過python等相似語言繼續封裝出來的程序,因爲它不斷的在服務器的後臺運行,始終守護且監聽着服務器的22端口,因此咱們就叫它們爲守護進程。
1.2.4 磁盤
磁盤就是永久存放數據的存儲器,磁盤上也是有緩存的(芯片)。
經常使用的磁盤(硬盤)都是3.5英寸的(ide,sas,sata),常規的機械硬盤,讀取(性能不高)性能比內存差不少,因此,在企業工做中,咱們纔會把大量的數據緩存到內存,寫入到緩衝區,這是當今互聯網網站的解決網站訪問速度慢的方案。
磁盤接口或類型:IDE,SCSI,SAS,SATA,SSD(電子的),IDE,SCSI退出歷史舞臺。
性能與價格:SSD(固態)>SAS>SATA
磁盤的大小
1byte=8bit 1K=1024byte 1M=1024K
1G=1024M 1T=1024G 1PB=1024T
字節(byte):8個二進制位爲一個字節(B)
市面上賣硬盤的都是按1000計算,號稱500G硬盤=5001000B1000KB*1000MB
1.2.5【磁盤原理案例】
企業案例:提高用戶體驗的網站解決方案 看具體需求,而後選擇方案
1,門戶(大網站)極端案例:
大併發寫入案例(搶紅包,微博)
高併發,大數據量,寫數據會把數據寫到內存,積累必定的量後,而後再定時或者定量的寫到磁盤(減小磁盤IO Input/Output 磁盤讀寫),最終仍是會把數據加載到內存中再對外提供訪問。
特色:
a,優勢:寫數據到內存,性能高速度塊(微博,微信,SNS,秒殺)
b,缺點:可能會丟失一部分在內存中尚未來得及存入磁盤的數據。
解決數據不丟的方法:
a,服務器主板上安裝蓄電池,在斷電瞬間把內存數據回寫磁盤
b,UPS(一組蓄電池)不間斷供電(持續供電10分鐘,IDC數據IPS 1小時)。UPS (Uninterruptible Power
System/Uninterruptible Power
Supply),即不間斷電源,是將蓄電池(多爲鉛酸免維護蓄電池)與主機相鏈接,經過主機逆變器等模塊電路將直流電轉換成市電的系統設備。
c,選雙路電的機房,使用雙電源,分別接不一樣路的電,服務器要放到不一樣的機櫃,地區。
2,中小企業案例
對於併發不是很大,數據也不是特別大的網站,讀多寫少的業務,會先把數據寫入到磁盤,而後再經過程序把寫到磁盤的數據讀入到內存裏,再對外經過讀內存提供訪問服務。
小結:
門戶極端案例:高併發,大數據
先把數據寫到內存,而後再定時或定量寫到磁盤,最終仍是會加載到內存
特色:
a,高併發寫入性能高
b,可能會丟失一部分在內存中還沒來得及存入磁盤的數據
中小企業案例:
併發時很大的網站會先把數據存到磁盤,而後再經過程序把數據讀入到內存裏,在對外提供訪問服務
舒適提示:
網站優化的核心就是想辦法把數據放入內存提供服務,或者讓用戶寫數據寫到內存(這樣最快)
3,企業面試題:buffer和cache什麼區別?
看視頻===>buffering把視頻數據緩存到磁盤===>寫數據到磁盤上或者寫數據到內存中
cache===>從磁盤或者內存讀取數據
簡單解答:
寫入數據到內存裏,這個數據的內存空間稱爲緩衝區(buffer),寫入緩衝區。
從內存讀取數據,這個存數據的內存空間稱爲緩存區(cache),讀取緩存區。
因爲99%的網站都是以讀取爲主,寫入爲輔,讀寫比例至少10:1,因此併發寫入通常不是問題。
提醒: 這裏提到的內存和磁盤,是由多臺機器組成的集羣架構環境memcached(純內存)/redis(內存加磁盤)
2.1 企業級服務器應用
1,常規正式工做場景(線上的生產環境)主選SAS(結合SATA和15000轉/分,機械磁盤轉數高的性能好)
2,比較核心的業務SAS
生產環境===>已經對外提供服務的環境
3,不對外提供訪問的服務器,例如,線下的數據備份,可選SATA(7200-10000轉/分)
SATA特色:容量大,價格便宜,可是速度比較慢。
4,高併發訪問,小數據量,能夠選擇SSD
問:既然SSD最好,那是否是都選SSD?
淘寶網企業案例:
服務器會把sata和ssd結合起來用,熱點存儲,程序動態調度。
- 開發團隊發明了一套算法,把那些訪問很集中的一些東西放在那個SSD盤上,由於SSD提供很好的讀性能,咱們就讓這些80%左右的這種讀從SSD上產生,剩下的圖片咱們把它放在傳統那種SAS或者更低廉的一些SATA盤上,這樣咱們整個節點的性能很是好,單機能夠支撐三千到四千IO,這是咱們系統沒有任何顯示出訪問慢,或者其餘很差的表現。
- 由於每臺機器的成本又降得很是低,若是能夠,好比說追求一個大的存儲,我能夠用全SSD,可是我SSD的成本相對要高不少,我能夠用比較廉價的SAS或者SATA來存一些訪問頻度不是很高的,用SSD存訪問頻度高的文件,這樣總體上的性能就協調的很是好,成本也很是低。總體上能夠這麼說,咱們經過這樣一年的優化,在原來硬件基礎上投資50%實現了性能是原來兩倍的一個架構。如今咱們整體的這種TCO是原來的1/4左右。
熱點存儲的思路很是好,在學習磁盤組成和原理的內容時,有關熱點數據的內容,必需要仔細體會。現現在看來,對不少中小型公司仍是很新穎的存儲方式。順便說下,大公司不管作什麼都要考慮性價比問題,而不光是要把問題解決,由於,設備的奇數太大,作一點點就會節省很是多的成本。阿里,聯想的大規模雲計算其實歸根結底都在解決性價比問題,不然,就沒法推向市場,真正的應用到商業市場中。
2.2 緩存
記住一句話:緩存無處不在,電腦硬件,網站集羣!
這裏作個瞭解便可
ns 納秒 1s = 10^9 ns
us 微妙 1s = 10^6 us
ms 毫秒 1s = 1000ms
2.3 DELL陣列卡(RAID卡)
基本做用:
你有不少土地。
單獨管理不方便。
整合,而後管理。
- 網站數據量很大的時候,單塊盤裝不下了,購買多塊盤,又不想單個盤存放數據,就須要工具把全部的盤整合成一個大磁盤,再在這個大磁盤上在分區(虛擬磁盤)方數據
- 另一大功能,多塊盤放在一塊兒能夠有冗餘(備份)。
RAID有不少種整合方式,RAID 0 1 5 10
有RAID卡後,通常磁盤就會插到RAID卡上,而不是直接插到主板上了
互聯網公司服務器通常都會購買RAID卡(主板自帶,獨立RAID卡),RAID卡上也是有緩存的。
- 冗餘從好到壞:raid1,raid10,raid5,raid0
- 性能從好到壞:raid0,raid10,raid5,raid1
- 成本從低到高:raid0,raid5,raid1,raid10
不一樣RAID級別的企業應用舉例:
根據數據的存儲和訪問的需求,去匹配對應的RAID級別。====>適用於互聯網公司
- 單臺服務器,很重要,盤很少,系統盤raid1
- 數據庫/存儲服務器,主庫raid10,從庫raid5/raid0(爲了維護成本,raid10)
- web服務器,若是沒有太多數據的話,raid5,raid0(單盤)
- 有多臺,監控/應用服務器,raid0,raid5.
2.3.1 raid0,1,5,10 簡要特色描述
- Raid 0:追求極致的數據傳輸速度的磁盤存儲解決方案(最快)
速度最快,但安全性最低,一塊磁盤出了問題,全部的數據都會損壞且沒法修復
- Raid 1:追求極致的數據安全的磁盤存儲解決方案(最安全)
安全性最高,但磁盤利用率最低,只有50%。
- Raid 5:追求數據安全和存儲成本兼顧的磁盤存儲解決方案(比Raid10成本低)
數據讀取比較快,可是寫入速度通常。磁盤利用率高於Raid1
- Raid 10:追求數據傳輸和數據安全兼顧的磁盤存儲解決方案(比Raid5性能高)
Raid10是Raid0和Raid1的組合體。Raid1這裏就是一個冗餘的備份陣列,而Raid0則負責數據的讀寫陣列。擁有極高的讀寫效率和數據安全保護。可是磁盤利用率低,價格比較貴。
2.4光驅
當下主要做用裝系統
企業應用:
建議淘汰光驅,爲老闆省錢
U盤安裝系統,網絡安裝(ftp,http),無人值守批量安裝系統(pxe+kickstart)
2.5 主板
2.5.1 機房機櫃裏的服務器擺放
標籤===>標記出每根線的用途
專業佈線:什麼是專業的,請看圖
2.6 小結:
企業面試題
1,你用過的服務器型號有哪些?配置如何?
2,程序和進程(守護進程)的區別?
3,提高用戶體驗的網站解決方案
4,buffer與cache的區別?
5,描述Raid0 1的特色?