自習周報:Dropbox性能之路
Dropbox 對性能一直有著孜孜不倦的追求,幾年前由於 AWS S3 的性能和成本不能滿足他們的要求他們開始了自建數據中心之路。出於數據的敏感性和隱私性的考量 Dropbox 也沒有採用第三方的 CDN 而是完全自建邊緣網路和骨幹網路,在外界開來只是做網盤的一個小公司建立了自己的一套全球分布網路,在他們的博客中介紹了他們這一路走過來的歷程,以及在軟硬體方面的優化方案,這一期的周報挑了其中的三篇,和大家一起來學習一下 Dropbox 是怎麼做的。
Optimizing web servers for high throughput and low latency
https://blogs.dropbox.com/tech/2017/09/optimizing-web-servers-for-high-throughput-and-low-latency/
這篇博客我認為是 infrastructure engineer 或者 web server 這一層的系統工程師必讀的了,主要是根據 Dropbox 工程師在 NginxConf 上的一篇演講擴展而來。事無巨細的介紹了從底層硬體:CPU、Memory、網卡、硬碟、固件到操作系統:內核參數、網路調優、TCP 參數,再到中間層:library,toolchain,compiler,第三方軟體調試,最後到應用層的一些控制來接收如何在吞吐量和延遲之間做權衡,以及對應的測試方法來選擇合適的優化方案。並且還提供了大量的參考資料,可謂是居家旅行必備之良品。
Evolution of Dropbox』s Edge Network
https://blogs.dropbox.com/tech/2017/06/evolution-of-dropboxs-edge-network/
Infrastructure update: evolution of the Dropbox backbone network
https://blogs.dropbox.com/tech/2017/09/infrastructure-update-evolution-of-the-dropbox-backbone-network/
剛才那一篇比較細節,接下來的兩篇是一個系列,都是比較宏觀方面的事情,講述的從 2014 年至今 Dropbox 是如何構建全球化的網路。包括架構的調整,路由協議的選擇,硬體的進化,以及未來的一些計劃。即使短時間內自己沒有辦法做這麼大規模的事情,不過看一遍還是感覺很過癮的。
推薦閱讀:
※JIT 為什麼能大幅度提升性能?
※世界五大類刀劍性能評比,武士刀進不了前三?
※為維護 iPad 各方面的性能,在使用過程中需要注意什麼?