日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Uber使用Go的規(guī)模這么大?!都自己定制的Go編譯器了

大家好,我是站長 polarisxu。

創(chuàng)新互聯(lián)公司是專業(yè)的克拉瑪依區(qū)網(wǎng)站建設(shè)公司,克拉瑪依區(qū)接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行克拉瑪依區(qū)網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

今天看到 Uber 使用 Go 的情況,挺吃驚的,給大家分享下情況。

01 Uber 使用 Go 的情況

Uber 有數(shù)千個(gè)后端服務(wù)是使用 Go 實(shí)現(xiàn)的,它們運(yùn)行在數(shù)百萬個(gè) CPU 內(nèi)核上。因此,對(duì)于 Uber 來說,詳細(xì)準(zhǔn)確掌握 CPU 瓶頸至關(guān)重要。這不僅為了減少服務(wù)延遲,同時(shí)也能提高計(jì)算機(jī)運(yùn)行效率。Uber 這個(gè)量級(jí)的規(guī)模,要求對(duì)代碼和微觀結(jié)構(gòu)的影響有深入的了解。

02 定制 Go 編譯器

其實(shí)說定制 Go 編譯器有點(diǎn)不準(zhǔn)確。主要是基于以上規(guī)模和要求,雖然 Go 內(nèi)置了 Profiler,但這個(gè) CPU Profiler 在基于 Linux 的系統(tǒng)上有嚴(yán)重的限制(也許在其他操作系統(tǒng)也有此問題,但 Uber 使用的是 Linux,其他機(jī)器并沒有測(cè)試驗(yàn)證),同時(shí)內(nèi)置的 Profiler 缺少掌握 CPU 瓶頸所需要的許多細(xì)節(jié)。

基于這些問題,Uber fork 了一份 github.com/golang/go 代碼,在其上建立一個(gè)定制的 Go Profiler,以便更符合 Uber 的需求和 Uber 的商業(yè)運(yùn)營規(guī)模。

具體來說,Uber 通過將豐富的硬件性能監(jiān)視特性集成到 Go 的缺省 pprof 分析器中來增強(qiáng)它。這提供了幾個(gè)關(guān)鍵好處:

能夠獲得更準(zhǔn)確和精確的 Go 程序分析文件(profiles);

監(jiān)控各種 CPU 事件的能力,比如緩存丟失、套接字間(NUMA)通信、 CPU 分支錯(cuò)誤預(yù)測(cè)等等;

能夠以非常高的采樣頻率(最高可達(dá) 10 微秒)監(jiān)控 Go 程序;

所以,Uber 定制的「Go 編譯器」其實(shí)只是增強(qiáng)了 Profiler。注意,對(duì) Profiler 的使用并不需要改變,也就是說,對(duì)外的接口、使用的工具和分析都沒有變(比如堆棧屬性、調(diào)用圖和火焰圖等),只是增加了更多的數(shù)據(jù)。

增強(qiáng)版的 Profiler,Uber 稱之為 pprof++,這是帶有硬件性能計(jì)數(shù)器的解決方案。

具體增加了哪些 CPU 事件,Uber 給了一張圖,公開了最常見的一些事件。

關(guān)于這些事件的使用,以及 pprof++ 的更詳細(xì)信息可以參考:https://eng.uber.com/pprof-go-profiler/。

Uber fork 的 Go 倉庫地址:https://github.com/uber-research/go。

03 感想

看到這個(gè)消息,驚嘆 Uber 對(duì) Go 的使用和研究之深,也證明了 Go 被大公司的規(guī)模使用,看好 Go 的前途。

不知道 Uber 開發(fā)的 pprof++,有沒有和 Go Team 溝通,嘗試合入 Go 官方倉庫,畢竟既然開源出來了,如果能夠在官方中使用,可以讓更多人收益。當(dāng)然,因?yàn)槟壳爸恢С?Linux 系統(tǒng),可能不太適合合入。至少,不希望 Go 出現(xiàn)分裂!


名稱欄目:Uber使用Go的規(guī)模這么大?!都自己定制的Go編譯器了
瀏覽地址:http://www.5511xx.com/article/coghggo.html