我就改了一行代碼,為什么就全超時(shí)了?
Xargin:今年 6 月的 GopherChina,我去做一次會(huì)前培訓(xùn),性能優(yōu)化相關(guān)的主題,之前的社區(qū)分享沒(méi)有講的一些細(xì)節(jié)會(huì)展開(kāi)來(lái)詳細(xì)說(shuō)。感興趣的同學(xué)可以了解一下~
下面是宣傳文:
為什么我只改了一行代碼,服務(wù)的極限 QPS 就從 1w 變成了 2000?
為什么我只是引入了一個(gè)開(kāi)源庫(kù),進(jìn)程的 RSS 占用就比以前多了一倍?
為什么我只是把字符串拼接改得更可讀,接口就全超時(shí)了?
為什么我只是給接口加了監(jiān)控,就直接導(dǎo)致一個(gè) P2 事故?
在日常開(kāi)發(fā)中,我們總是會(huì)與性能問(wèn)題不期而遇,沒(méi)有系統(tǒng)地進(jìn)行過(guò)了解和學(xué)習(xí)的話,發(fā)現(xiàn)問(wèn)題后的劇情,就是把這些棘手的問(wèn)題丟給公司內(nèi)的穩(wěn)定性團(tuán)隊(duì)來(lái)定位了。
作為一個(gè)上進(jìn)的 Gopher,你能忍受自己寫(xiě)出來(lái)的問(wèn)題自己定位不出來(lái)么?我覺(jué)得不能。
這要求我們必須主動(dòng)去學(xué)習(xí)性能優(yōu)化的知識(shí)和套路,并且能夠在開(kāi)發(fā)實(shí)踐中運(yùn)用這些技能。
這是一個(gè)速度決定一切的時(shí)代,我們的生活在不斷地?cái)?shù)字化,線下的流程依然在持續(xù)向線上轉(zhuǎn)移,轉(zhuǎn)移過(guò)程中,作為工程師,我們會(huì)碰到各種各樣的性能問(wèn)題。
性能優(yōu)化對(duì)于后端工程師是難以逃避的問(wèn)題,對(duì)于 Gopher 來(lái)說(shuō)也是如此。
作為一名優(yōu)秀的 Gopher ,當(dāng)然要趕緊抓住千載難逢的機(jī)會(huì),報(bào)名參加 GopherChina 大會(huì)的會(huì)前培訓(xùn),培訓(xùn)將由資深 Gopher 曹春暉在他的《Go 性能優(yōu)化實(shí)戰(zhàn)訓(xùn)練》中為大家撥開(kāi)云霧,指點(diǎn) Go 性能的迷津:
學(xué)習(xí)常見(jiàn)的調(diào)優(yōu)工具,
了解如何診斷實(shí)踐中的性能問(wèn)題,并針對(duì)這些問(wèn)題進(jìn)行優(yōu)化。
理解如何寫(xiě)出更符合計(jì)算機(jī)架構(gòu)的高性能代碼;
能夠正確編寫(xiě) benchmark 對(duì) library 進(jìn)行優(yōu)化;
能夠?qū)σ延械姆?wù)進(jìn)行性能調(diào)優(yōu);
能夠定位常見(jiàn)的服務(wù)瓶頸,并優(yōu)雅地解決;
Benchmark Ninja :
正確編寫(xiě) Benchmark,理解 Benchmark 的輸出。
通過(guò) Benchmark 理解 false sharing、變量逃逸、Zero Garbage 等等常見(jiàn)性能領(lǐng)域概念。
了解給 Go 語(yǔ)言提 PR 時(shí)為什么不能直接使用 Benchmark 結(jié)果。
了解社區(qū)內(nèi)幾個(gè)熱門的 Benchmark Game 和相關(guān)測(cè)試。
Profiling Master:
Go 內(nèi)置 pprof 的實(shí)現(xiàn)原理與操作指南。
苛刻內(nèi)存限制環(huán)境下的 C10k 應(yīng)用性能診斷與優(yōu)化。
分析與優(yōu)化 http 服務(wù)的 CPU 占用。
使用 pprof 分析 sync.Pool 誤用導(dǎo)致的阻塞瓶頸。
Compiler/Reverse 101:
Go 語(yǔ)言的編譯過(guò)程,相關(guān)的編譯,反編譯工具,編譯優(yōu)化過(guò)程觀察編譯優(yōu)化帶來(lái)的優(yōu)勢(shì)和問(wèn)題。
Language Pitfalls:
sync.Pool 一定能夠優(yōu)化你的程序么。
語(yǔ)言的設(shè)計(jì)缺陷導(dǎo)致的那些性能問(wèn)題。
Performance in the Wild:
應(yīng)用外部問(wèn)題導(dǎo)致的性能問(wèn)題示例
了解常見(jiàn)的性能優(yōu)化方法論

Xargin(曹春暉),資深 Gopher,《Go 語(yǔ)言高級(jí)編程》合著者,golang-notes 項(xiàng)目的作者(2.4k star),曾供職于滴滴和螞蟻金服,做過(guò)大規(guī)模的在線服務(wù)與基礎(chǔ)設(shè)施。對(duì)性能優(yōu)化了解頗多,也期待能夠把他碰到的大量實(shí)踐案例與你分享。
報(bào)名參加的方式有兩種:「掃碼下方二維碼」或者「閱讀原文」即可
