從搜索引擎優(yōu)化談云計算

? ? ? ? CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)是很多系統(tǒng)設(shè)計時關(guān)注的核心資源,也是很多單機(jī)系統(tǒng)的瓶頸點(diǎn)。自己這幾年一直在做搜索引擎,為了提高單機(jī)性能,各種能用的黑科技都用上了,但是面對不斷增長的業(yè)務(wù)體量,優(yōu)化基本很快被業(yè)務(wù)吃掉,單機(jī)性能基本保持持平。搜索引擎的核心是CPU以及內(nèi)存,內(nèi)存不夠數(shù)據(jù)需要分片,分片涉及到merge的問題,所以相對于不分片會有更多的IT資源開銷,還有就是冷熱分離,把使用頻率低的數(shù)據(jù)放到磁盤上。

? ? ? ? 在前期的優(yōu)化過程中,我們的思路一致放在系統(tǒng)本身。假設(shè)我們有20臺搜索引擎,單機(jī)24核心/64G內(nèi)存,單機(jī)容量200qps/秒,總?cè)萘?0*200=4000qps/秒,假如我們能把程序調(diào)到理論上的最優(yōu),在業(yè)務(wù)復(fù)雜度不變的情況下單機(jī)性能由200qps/秒變成400qps/秒,系統(tǒng)總?cè)萘孔兂?000qps/秒。那我們還有其他可以做的優(yōu)化么,單機(jī)性能已經(jīng)優(yōu)化到最優(yōu)的情況下(當(dāng)然我們不可能做到最優(yōu),這里只是假設(shè)),如果沿著優(yōu)化程序或則業(yè)務(wù)的思路走下去,你很難找到更好的答案,那如果換一種思路呢,對于一個以盈利為目的商業(yè)公司來說系統(tǒng)的本質(zhì)是啥。當(dāng)然是賺錢,節(jié)省成本也是賺錢!

? ? ? ? 對于搜索引擎來說決定單機(jī)性能的核心資源是CPU核數(shù)量,同樣的內(nèi)存,CPU從24核升級到48核,性能是隨核心數(shù)量線性增長的。問題就在這個地方,兩臺24核心64GB的機(jī)器在搜索引擎這個應(yīng)用上等效于一臺48核心64GB的機(jī)器,但是兩臺24核心的機(jī)器肯定比一臺48核心的機(jī)器貴,因為機(jī)器還需要網(wǎng)卡,磁盤,內(nèi)存,機(jī)箱,電源這些東西,實際也這樣,在某云上一臺48核/256GB的機(jī)器每月價格3000,相應(yīng)的96核/256GB內(nèi)存的機(jī)器每月價格是3500,CPU性能提高一倍,每月支出只增加16%,單位價錢買到的CPU資源提高71%。對于我們前面的20臺24核/64GB引擎集群來說,最優(yōu)的是被一臺480核/64GB的機(jī)器替代掉,當(dāng)然目前不存在這種規(guī)格的機(jī)器,但是這給了我們一個思路,對于一個系統(tǒng)的來說,同樣的服務(wù)容量部署在不同規(guī)格的機(jī)器上,使用成本是有差異的(這樣的例子有很多,比如kafka核心是網(wǎng)卡和磁盤)。

? ? ? ? 針對不同的應(yīng)用選擇合適的機(jī)器,可以幫助我們節(jié)省更多的錢,提高我們的商業(yè)競爭力,這也是云計算的理想狀態(tài),一臺擁有無限核心無限網(wǎng)卡無限內(nèi)存無限磁盤的完美機(jī)器。雖然不存在這樣的機(jī)器,但是對于一個云計算企業(yè)來說,能提供不同規(guī)格的機(jī)器并幫助客戶合理的部署他們的系統(tǒng),是必須擁有的核心競爭力,因為這意味著幫助客戶用更少的錢,完成同樣的目標(biāo)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容