構建日均千萬訪問量網站的硬件核心-戴爾PowerEdge企業服務器

    首先要感謝下 E起來尋找--“我身邊的戴爾企業級解決方案”有獎徵文 這個活動的舉辦方,說起來大家也許不信,通過參加這個活動使我受益了。受益,並不是完全因爲你們的禮品,而是因爲通過參加這個活動使自己開始更全面的瞭解和關注Web服務的實現和解決方案。原來一直在傳統軟件公司混,有幸進入成長更快速的互聯網公司,由原來基於C/S架構的開發完全轉到了B/S架構了。在互聯網公司擔任開發,可以說和新手上路差不多,要學習的東西還很多。
    在沒有真正進入互聯網公司時,我其實是覺得寫Web程序很沒有成就感的,理由是什麼:成果總是在瀏覽器裏面晃盪,控制範圍太有限,沒意思!
    成爲了互聯網公司的開發人員,面對着在全體同仁們努力下每日上升的訪問量和快速變化的業務,才逐漸體會和理解到作爲一名Web程序員的技術挑戰點在哪裏,意識到硬件設備和網絡運維的重要性,回頭看來,當初的那個觀點是很幼稚的。
    自從參加了上次的活動 說說你眼中的戴爾轉型後,與其說是有意無意的就找系統開發人員“套話”(套話這個詞陰險了些,呵呵),不如說是和他們在一起時聽他們聊的內容,偶爾也能插上嘴了。那天還盯着線下測試放的兩臺服務器看了一會,一臺比較厚實,另一臺相對比較薄,問了一下旁邊正在調試的同事,爲什麼這臺比旁邊那臺厚了一倍,同事說,一臺是2u,一臺是1u的。原來如此,2了就厚實些,自己還比劃了手勢,要這麼厚,是幾U,同事笑了,呵呵。彎腰仔細看了下型號:Dell PowerEdge R720
    本文以一個互聯網運維近距離旁觀者的視角,結合一些“小白白”的想法,邊學習邊記錄。
    一、U的概念
    U原來真的和尺寸有關,居然被歪打正着了。
    U是一種表示服務器外部尺寸的單位,是unit的縮略語,詳細的尺寸由作爲業界團體的美國電子工業協會(EIA)所決定。之所以要規定服務器的尺寸,是爲了使服務器保持適當的尺寸以便放在鐵質或鋁質的機架上。機架上有固定服務器的螺孔,以便它能與服務器的螺孔對上號,再用螺絲加以固定好,以方便安裝每一部服務器所需要的空間。
    規定的尺寸是服務器的寬(48.26cm=19英寸)與高(4.445cm的倍數)。由於寬爲19英寸,所以有時也將滿足這一規定的機架稱爲“19英寸機架”。厚度以4.445cm爲基本單位。1U就是4.445cm,2U則是1U的2倍爲8.89cm。
    採用1U的服務器主要節省空間。你把服務器託管到網通或者電信機房的時候,是按照你的服務器空間來給你算錢的。省空間的便宜。但是1u的擴展性不如2u的好(主要是最大硬盤個數,1u最多的4個,2U的可以到8個。另外PCI的插槽數目不同,1U最多2個,2U的可以到6個)
    I will not change, no matter how U change … 
    文科生:不論你怎麼移情別戀,我是不會變心的。 
    理科生:電流不隨電壓的變化而變化。
    你是文科生還是理科生?

    二、數據庫
    CRUD是指在做計算處理時的增加(Create)、查詢(Retrieve)(重新得到數據)、更新(Update)和刪除(Delete)幾個單詞的首字母簡寫。主要被用在描述軟件系統中數據庫或者持久層的基本操作功能。
    同樣的CRUD,現在作爲Web程序員的我,深刻體會了對於開發人員的數據庫技能要求,要比之前的一些從業經歷要高的多,尤其是前端頁面展現,sql語句更要反覆的優化,開發環境每多1毫秒,上線後頁面併發,那麼的打開速度就會1*N的折扣,寫的差的sql語句甚至會堵死主庫,導致整個網站訪問速度變慢甚至“雪崩”。開發人員越來越多,每個人的水平也是參差不齊,對於項目的leader們來說,是個挑戰。
    和很多采用linux系統的互聯網公司一樣,所在企業也是選擇了mysql作爲數據庫服務程序,多臺數據庫機器主從同步,形成一個數據庫服務集羣。lamp,很多linux下的技術人員都知道,但對於我來說卻也是個新東西,還記得第一次重裝工作環境時,那個費勁,遠遠不如自己在windows環境手敲回車鍵或點擊“下一步”按鈕那麼瀟灑。至於後來把apache換成nginx,自己也只是瞭解皮毛,慚愧慚愧。還好,系統開發組的同事說,你們一般不需要了解太深,畢竟不用每天接觸。
    當訪問量上來了,數據庫的同時連接數也就上來了,這時提速最簡單的方法就是增加數據庫服務器的量,比如增加從庫,然後從代碼的框架上把讀寫分開,普通讀取操作走從庫,分擔具體的壓力。

    三、併發訪問數據
    併發訪問,降低延緩,這裏面大有學問,一系列的緩存技術就是關鍵。比如數據持久化後的內存對象緩存系統memcache和key-value存儲系統redis,在一些知名的互聯網公司運用都很廣。這些緩存技術就是要把內存當做硬盤使。
    比如最近搜索學習了一些新浪微博技術架構的知識,就瞭解到redis在其中的重要作用,而我們是今年才引入的,我更是隻知道個概念。
    無論什麼緩存技術,對於服務器的性能,尤其是存儲系統比如硬盤和內存,要求是相當高的。
    突然想搜索下新浪用的什麼服務器,在Dell的官網就看到了如下的文字,他們也用了Dell PowerEdge系列。
    “ 新浪網爲用戶提供網絡新聞及內容、微博、移動增值、電子商務等一系列服務,我們的服務器和網絡設備分佈在全國 30 多個城市,日常對運維和監控有着很高的要求。如何能快速、準確掌握服務器運行狀態,及時監控、預警是新浪運維團隊關心的重點。戴爾新一代服務器具有創新的產品設計和出色性能,符合新浪對業務計算的需要,同時戴爾優秀的供應鏈支持可以確保貨物及時送達,並且技術支持團隊可以快速響應我們在售前和售後的需求。 ” —— 王朔,新浪網研發中心運維部總監

    四、安裝部署
    算是貧民的做法吧,我們並沒有由Dell公司的人員來提供具體的解決方案。通常是,買來服務器,自己安裝linux和相關軟件,拷機測試,沒有問題,就會部署到機房。
    據系統開發人員講,他們某次去機房,一位年輕的的“苦逼”運維男過來問,你們用的也是Dell的服務器,你們有 R620型號的windows顯卡驅動嗎?我們的人員回答說,我們是linux服務器,不需要那玩意,沒有弄過……我猜,那位兄弟一定是在windows下部署某個虛擬化的程序,對顯示有要求。瀏覽了一下Dell官網的PowerEdge系列專題網頁,沒有在明顯的地方找到驅動程序的下載地址,也許Dell可以把這些驅動程序放到網站上。
    
    五、總結
    雖然目前所在企業的業務日益上升,但是我們依舊屬於成長期的創業公司,依舊在路上。無論硬件軟件還是人,都在學習摸索和成長,既然硬件選擇了Dell,就讓我們一起成長吧。
    公司今年已經有步驟的更換了一批服務器了,幾乎全被Dell佔領了,據說將來要全部更換爲Dell的,言談中看得出目前CTO對於Dell的性價比還是挺滿意的。我的套話應該沒有被發現把,至少他們目前還不知道我寫這篇文章。將來要是經過授權,也許我就敢明目張膽的把自己所在的企業名字寫到文章裏面並加上超鏈接了,低調低調。
    

  If you say that someone or something has an edge, you mean that they have a powerful quality. 銳氣

  If someone or something has an edge, they have an advantage that makes them stronger or more likely to be successful than another thing or person. 優勢

  The edge of something sharp such as a knife or an axe is its sharp or narrow side. 刃

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章