我就改了一行代码,为什么就全超时了?
Xargin:今年 6 月的 GopherChina,我去做一次會前培訓,性能優化相關的主題,之前的社區分享沒有講的一些細節會展開來詳細說。感興趣的同學可以了解一下~
下面是宣傳文:
為什么我只改了一行代碼,服務的極限 QPS 就從 1w 變成了 2000?
為什么我只是引入了一個開源庫,進程的 RSS 占用就比以前多了一倍?
為什么我只是把字符串拼接改得更可讀,接口就全超時了?
為什么我只是給接口加了監控,就直接導致一個? P2 事故?
在日常開發中,我們總是會與性能問題不期而遇,沒有系統地進行過了解和學習的話,發現問題后的劇情,就是把這些棘手的問題丟給公司內的穩定性團隊來定位了。
作為一個上進的 Gopher,你能忍受自己寫出來的問題自己定位不出來么?我覺得不能。
這要求我們必須主動去學習性能優化的知識和套路,并且能夠在開發實踐中運用這些技能。
這是一個速度決定一切的時代,我們的生活在不斷地數字化,線下的流程依然在持續向線上轉移,轉移過程中,作為工程師,我們會碰到各種各樣的性能問題。
性能優化對于后端工程師是難以逃避的問題,對于 Gopher 來說也是如此。
作為一名優秀的?Gopher ,當然要趕緊抓住千載難逢的機會,報名參加?GopherChina 大會的會前培訓,培訓將由資深 Gopher 曹春暉在他的《Go 性能優化實戰訓練》中為大家撥開云霧,指點 Go 性能的迷津:
學習常見的調優工具,
了解如何診斷實踐中的性能問題,并針對這些問題進行優化。
課程目標
理解如何寫出更符合計算機架構的高性能代碼;
能夠正確編寫 benchmark 對 library 進行優化;
能夠對已有的服務進行性能調優;
能夠定位常見的服務瓶頸,并優雅地解決;
課程大綱
Benchmark Ninja :
正確編寫 Benchmark,理解 Benchmark 的輸出。
通過 Benchmark 理解 false sharing、變量逃逸、Zero Garbage 等等常見性能領域概念。
了解給 Go 語言提 PR 時為什么不能直接使用 Benchmark 結果。
了解社區內幾個熱門的 Benchmark Game 和相關測試。
Profiling Master:
Go 內置 pprof 的實現原理與操作指南。
苛刻內存限制環境下的 C10k 應用性能診斷與優化。
分析與優化 http 服務的 CPU 占用。
使用 pprof 分析 sync.Pool 誤用導致的阻塞瓶頸。
Compiler/Reverse 101:
Go 語言的編譯過程,相關的編譯,反編譯工具,編譯優化過程觀察編譯優化帶來的優勢和問題。
Language Pitfalls:
sync.Pool 一定能夠優化你的程序么。
語言的設計缺陷導致的那些性能問題。
Performance in the Wild:
應用外部問題導致的性能問題示例
了解常見的性能優化方法論
講師介紹
Xargin(曹春暉),資深 Gopher,《Go 語言高級編程》合著者,golang-notes 項目的作者(2.4k star),曾供職于滴滴和螞蟻金服,做過大規模的在線服務與基礎設施。對性能優化了解頗多,也期待能夠把他碰到的大量實踐案例與你分享。
報名參加的方式有兩種:「掃碼下方二維碼」或者「閱讀原文」即可
點擊這里閱讀原文,即刻報名~
總結
以上是生活随笔為你收集整理的我就改了一行代码,为什么就全超时了?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员应该知道的那些画图工具-第一期
- 下一篇: The Tail at Scale