什么樣的硬件配置在驅(qū)動 Etsy
來源:解決方案 2012-09-13
前言:Etsy.com是家手工藝品拍賣網(wǎng)站,據(jù)其 CEO 查德·迪克森(Chad Dickerson)日前透露,該公司今年截至目前處理的交易總額已經(jīng)突破了5億美元。他們目前擁有超過300名員工,80萬活躍商戶以及超過4000萬月訪問用戶。那這樣一個大網(wǎng)站,其硬件配置如何? Etsy官方技術(shù)博客有文章介紹,@忘美流星編譯如下。
通常來說,討論運行一個大網(wǎng)站所需的硬件配置是在私下的圈子中進行,并且通常是在說某個牌子做得怎么怎么稀爛,或者某個牌子的硬件支持怎么怎么糟糕。
隨著“云時代”的到來,這一情況有了些許變化。人們突然之間開始談論某個牌子有多大或多少的實例,同時我也相信這是對于了解數(shù)據(jù)中心里物理服務器的一個很好的實踐。畢竟這不是競爭,而是在幫助人們擺脫和我們一樣的困境,也是在傳播關(guān)于某些方面某些人還不知道的解決方案,很像我在這個博客上發(fā)表的內(nèi)容。
37signals 的朋友在參加了 Velocity大會(一個可以討論硬件八卦內(nèi)容的地方)后,他們也有這個趨勢,最近發(fā)布了他們的硬件配置。
因此,出于對這個趨勢的興趣,以下就是為我們7月中6950萬美元銷售額供以動力的硬件部分。
數(shù)據(jù)庫部分 | Database Class
正如你或許已經(jīng)了解的那樣,我們有相當多的MySQL機器用來存儲數(shù)據(jù),性能和(相當一部分的)可靠性也依賴這些機器。
為了實現(xiàn)對高存儲、高處理力、和好的冗余度的四周高性能盒(all round performant box)有要求的作業(yè),我們使用HP DL380服務器。這些服務器擁有2U儲存架區(qū)的計時器、2個8核的Intel E5630 CPU(2.53 Ghz)、96G的RAM(對全部重要的MySQL高速緩存)和16個15000轉(zhuǎn)速146GB的硬盤。這樣的配置提供了平衡性良好的磁盤空間去存儲用戶數(shù)據(jù),同時也方便主軸/RAM快速地獲取這些數(shù)據(jù)。服務器擁有四個1GB的以太網(wǎng)端口,但是我們只使用了其中之一。
為什么不用固態(tài)硬盤(SSDs)?
我們剛開始第一輪測試使用固態(tài)硬盤的數(shù)據(jù)庫。傳統(tǒng)上來說,我們已有其他的問題先需要解決,比如達到用戶數(shù)據(jù)量(例如某臺機器上的磁盤空間使用量)和 CPU與內(nèi)存之間的平衡性。然而,正如我們其他的配置信息中所展現(xiàn)的那樣,我們有大量的固態(tài)硬盤遍及和貫穿基礎架構(gòu),所以我們也將同樣為數(shù)據(jù)庫進行良好的測試。
我們的多種硬件如圖所示,左邊和中間為HP,右邊為網(wǎng)絡/Utility 箱
Web/Gearman Worker/Memcache/Utility/Job
這是相當廣的一個范圍,但是通常我們嘗試并贊同盡可能少的機器類別。所以我們在處理會執(zhí)行大量通信或冗余的任務時,大部分網(wǎng)絡通信(Apache/PHP)的任務會在只有一種機器的應用層被處理。通過這種方式,硬件的可重用性得到了提升,并且可以實現(xiàn)機器部分的快速便捷轉(zhuǎn)換。話雖如此,仍然有發(fā)生一些組件種類配置的細微差別,例如內(nèi)存和磁盤的數(shù)量。
這種在機箱前部允許共享兩個電源和12個3.5英寸磁盤的支持4 節(jié)點的2U超微機箱(Supermicro chassis),我們相當喜歡。
4個簡易可用節(jié)點的超微機箱(Supermicro chassis)
這個的常規(guī)配置為兩個8核Intel E5620的CPU(2.40GHz),12GB至96GB 的RAM, 和600GB的7200轉(zhuǎn)速硬盤或Intel的160GB固態(tài)硬盤。
注意到這些配置缺乏RAID(獨立磁盤冗余陣列),我們很大程度上依賴Cobbler和Chef,這表示從零開始重建一個系統(tǒng)只需要10分鐘。在我們看來,當數(shù)據(jù)中心的員工可以在20分鐘內(nèi)更換驅(qū)動、重建一個系統(tǒng)并回到生產(chǎn)的情況下,為什么要用兩個驅(qū)動呢?顯然這只在適當?shù)那闆r下生效,既機器集群中每臺獨立的機器上的數(shù)據(jù)并不重要。例如,當日志不斷發(fā)送至集中日志主機,并且網(wǎng)絡代碼易于部署回本機時,網(wǎng)絡服務器就可以被認為是沒有重要的數(shù)據(jù)了。
我們用Nagios核對(同樣SMART核對也可以)來幫助我們了解文件系統(tǒng)變得不可寫入時的情況,于是可以得知機器是否需要新的磁盤了。
每臺機器擁有兩個1GB的以太網(wǎng)端口,在這種情況下,我們只是用了其中一個。
分布式計算(Hadoop)
在之前的12個月內(nèi),我們致力于構(gòu)架我們的分布式計算集群,并一些最終與上述機箱設計相似的硬件配置進行了評估。但是,我們使用不是之前描述的12個3.5英寸的設計,而是采用前端擁有24個2.5英寸軟盤插槽的機箱。
分布式節(jié)點,和大量的磁盤燈
每個節(jié)點(每個2U機箱中有4個節(jié)點)擁有兩個12核Intel E5646的CPU(2.40GHz),96GB的RAM,和6個1TB的2.5英寸7200轉(zhuǎn)速的磁盤。也就是每個存儲架區(qū)有96核,384GB的RAM和24TB的磁盤空間。
我們的分布式計算作業(yè)在CPU方面任務繁重,而因為每個節(jié)點的磁盤空間量不大的關(guān)系,在存儲和磁盤吞吐量方面問題不大。如果擁有更多的輸入/輸出和存儲需求,我們會考慮替換成每個節(jié)點12個3.5英寸磁盤的2U超微服務器。
正如以上機箱,盡管每個節(jié)點有兩個1GB的以太網(wǎng)端口,我們?nèi)匀幻糠昼娭皇褂闷渲幸粋。
如圖所示為一系列機器之間分布式作業(yè)是否運行時電力供給的不同
搜索/Solr
僅僅一個月前,這還未被歸類于上述的通用盒中,但是我們在搜索堆中發(fā)現(xiàn)了很多新的令人興奮的內(nèi)容。使用與我們通用例子相同的機箱,但這次使用的是超贊的Intel CPU新的Sandy Bridge線路。我們在每個節(jié)點中使用了兩個16核Intel E5-2690的CPU(2.90GHz),使機器可以處理之前通用例子中節(jié)點的四倍工作量,同時保持同樣的密度配置和并沒有多太多的電源功率。這可是每個機箱128核2.9GHz的CPU啊!(算是包括了超線程在內(nèi))
這個結(jié)果很好,因為搜索確實屬于CPU范疇——而我們這些年一般用固態(tài)硬盤去規(guī)避這些機器的輸入/輸出問題。每個節(jié)點擁有96GB的RAM和一個單程的800GB的索引固態(tài)硬盤。這個遵循了不打擾RAID的同樣的模式——固態(tài)硬盤本身已經(jīng)足夠快,而我們通過BitTorrent索引分布讓獲取機器索引變得特別快。
更少的機器,意味著更少的管理,更少的耗電,更少的空間。
32核Sandy Bridge架構(gòu)中“Top”命令的輸出
備份
超微也在這場角逐中獲勝。我們使用了名為6047R-E1R36N的catchily。型號中的36是一個重要的部分——這表示一個擁有36個3.5英寸磁盤的4U機箱。我們?yōu)檫@些機箱裝載2TB的7200轉(zhuǎn)速的驅(qū)動,外加一個LSI RAID控制器——擁有1GB電池供電的回寫緩存,提供了猛烈的1.2GB每秒的順序?qū)懭胪掏铝亢涂偣?兩倍于RAID6的)60TB可用磁盤空間。
36磁盤的超微機箱。注意:機箱的正面及反面都插滿了磁盤!
為什么是兩倍于RAID6的空間呢?這表示多一點浪費(4個同等驅(qū)動取代了2個),但是結(jié)果是你會對失去的驅(qū)動數(shù)量多一點彈性,而且如果你只丟失了一個驅(qū)動,重建的時間會減少一半。顯然,RAID的監(jiān)控室很重要的,我們需要檢查SMART(單個磁盤機器)或者使用Nagios檢查我們所有其他機器的不同的RAID使用。
在這個情況下,我們利用兩個1GB的以太網(wǎng)連接,與帶給我們?nèi)哂嗪退璧念~外帶寬的交換機粘合在一起。在將來我們甚至可以在這些機器上運用光纖去充分發(fā)揮磁盤的潛力——但是目前我們未能為我們的備份實現(xiàn)超過1GB每秒的速率。
特殊部分
當然規(guī)則總是會有例外。我們的唯一硬件配置例外就是HP DL360服務器(1U, 4個2.5英寸15000轉(zhuǎn)速146GB SAS的磁盤),這個角色并不需要太強的馬力,但是我們認為對于擁有RAID已足夠重要。比如DNS(域名系統(tǒng))服務器,LDAP(輕量級目錄訪問協(xié)議)服務器,和我們的分布式計算名節(jié)點都是對磁盤空間要求不多、但是需要RAID以支持(相對于一般單個磁盤配置來說是屬于)額外的數(shù)據(jù)安全的機器。
網(wǎng)絡
在這篇文章里,我并沒有深入探討網(wǎng)絡方面的內(nèi)容。敬請關(guān)注這個博客,在以后的日子里,會考慮到這個部分,并由我們的網(wǎng)絡大師帶領(lǐng)大家進入packet shuffling 基礎架構(gòu)。
后續(xù)趨勢
如果你在任何方面像我們,我們希望這里是你的硬件熱情的好歸宿。你有什么很酷的東西嗎?
這篇文章發(fā)布者為Laurie Denness (@lozzd),如果你能來幫助我們更好地使用這些硬件,他會很開心。為什么不加入我們呢?
( 譯注:不是這方面專家,在部分專業(yè)名詞上的翻譯可能會有偏差。如果覺得某個詞語看得別扭,可以對照原文查看)
原文:Etsy 編譯:伯樂在線 @忘美流星
文章編輯: 365webcall網(wǎng)站在線客服系統(tǒng)(www.365webcall.com)
我的評論
登錄賬號: | 密碼: | 快速注冊 | 找回密碼 |