Facebook揭秘其应用测试平台,并开源核心技术
本周,Facebook讓一群記者參觀了它位于俄勒岡州普賴恩維爾市的數(shù)據(jù)中心,在這個過程中也展示了他們的一個移動應(yīng)用測試實驗室,用來測試Facebook app、 Messenger 和Instagram。
目前 這個實驗室總共含有60個機架,每個機架上放置32臺移動設(shè)備,這樣整個實驗室擁有有將近2000臺移動設(shè)備。每個機架擁有自己單獨的Wi-Fi 信號,并配有電磁干擾附件,以確保周圍的機架不會相互擠占Wi-Fi 信號。
每次Facebook對自己的手機應(yīng)用做出改變時,都會在這些設(shè)備上進行測試,確保沒有程序崩潰以及其他性能問題。為確保所有的測試都是可比較的,每一次測試完成之后,這些手機須全部重新啟動。
圖自:Techcrunch
這些移動設(shè)備包含了市面上常見機型,例如基本的三星 Galaxy 系列,以及最新版的iPhone系列。同時,這些手機也會運行各版本的操作系統(tǒng),包含了 KitKat以來所有版本的安卓系統(tǒng),以及 從 iOS 7 到 iOS 9。
另外,為了加載最新的代碼,所有手機都要連上PC和Mac Mini。分別對應(yīng)安卓和iOS系統(tǒng),一臺機架上可能配有4臺OCP Leopard服務(wù)器 或8臺Mac Mini(因為一臺Mac Mini 只能連接4臺手機)。
相比于在實體設(shè)備上測試,模擬器上測試更加容易,但是Facebook為什么選擇前者呢?
Facebook團隊成員解釋道,盡管在模擬器上可以弄清楚app產(chǎn)生錯誤的原因,但是它不能很好地測試性能,“比如說,我們并不能在模擬器上追蹤1%的性能回歸,所以我們選擇了實體設(shè)備測試。”
雖然Facebook沒有明確說明除了使用Chef這個服務(wù)器工具以外,他們是怎樣把最新的代碼加載到這些移動設(shè)備上的,但是工作人員提到這個實驗室來源于Facebook在CT-Scan領(lǐng)域里的工作(CT-Scan 是一種性能監(jiān)測服務(wù)),或許我們從中能稍微得到一些線索。
在早些時候,工程師只在一臺設(shè)備上測試運行app,鑒于市場上多種多樣的手機和平板設(shè)備,這是不夠的,所以Facebook“生產(chǎn)工程”(Production Engineering)部門內(nèi)的一個小團隊就開始著手組建這些機架。
圖自:Techcrunch
早期的這些機架構(gòu)造十分簡單,都是用的金屬材料,這使得Wi-Fi 信號不能有效接收,從而造成整個系統(tǒng)運行不暢。之后員工們嘗試建造一面可以放置240部設(shè)備的墻壁,但那樣占的空間就太大了。
現(xiàn)在新版的機架不僅解決了Wi-Fi 信號問題,還增加了新功能--安裝了攝像頭,用來追蹤設(shè)備上的各種情況,然而工作人員好像還沒開始用這個功能。
接下來的一段時間,實驗室工作人員正試圖把每個機架上的設(shè)備數(shù)量增加到64個,同時讓代碼加載到移動設(shè)備的效率更快。然而可能更重要的是,Facebook正打算開源機架的設(shè)計,以及公開Chef的核心技術(shù)秘密。
當然,擁有同樣類型實驗室的并非只有Facebook一家。微軟、亞馬遜和谷歌都有開放的移動應(yīng)用測試平臺,如果你要測試自己的app,任選一家就行。
====================================分割線================================
本文轉(zhuǎn)自d1net(轉(zhuǎn)載)
總結(jié)
以上是生活随笔為你收集整理的Facebook揭秘其应用测试平台,并开源核心技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2023考研王道计算机408数据结构+操
- 下一篇: JavaScriptSerializer