[心得] 善用 Go 語言效能測試工具來提升執行效率
部落格好讀版: https://bit.ly/golang-tool
投影片線上看: https://bit.ly/golang-tool-slide
這次很高興能到高雄 mopcon 給一場演講『善用 Go 語言效能測試工具來提升執行效率』
投影片在上面連結,底下紀錄會後一些朋友的意見跟問題?
為什麼要從 Python 到 Golang?
第一版 Python 由同事進行開發,這個版本也在公司內部運作了很久,也很少改版,而這
次遇到效能上的問題,加上要搭配 AI,故我先拿 Golang 進行第一次的改版,方式還是
使用 Regex,把整個邏輯換掉,也優化不少 Regex,效能提升不少。而至於為什麼要用
Go 而不是用 Python 原因是當下對於 Go 比較熟悉,也想嘗試看看用 Go 能提升多少效
能,並非 Python 不好,考慮到團隊目前的技能樹,加上在自家 IT 環境內,用 Go 可以
編譯出單一執行檔給同仁使用,相對 Python 來說是方便許多。在公司內部有些特定的環
境是完全沒有網路了的,這時候用 Go 搭配 vendor 就可以無痛在該環境編譯,這點是
Go 非常強大的地方。
為什麼會想重寫 Parser?
後來用 Go 改寫的 Regex 版本,從原本的 9xx 秒降到 7 秒多,已經提升了不少,接下
來要再往下繼續調整,估計也已經沒多少空間了,加上此版本對於更大的檔案量,1 GB
以上資料量,還是需要用掉不少系統資源,故我花了一週下班時間,重新改寫 Parser,
最主要要驗證從 7 秒多可以降到幾秒呢?後來事實證明可以從 7 秒多降到 1 秒左右,
整體來說提升了不少,也讓其他同仁在使用 Parser 的時候,從原本需要 400 台機器,
降到不到 5 台。省下不少公司的資源,這些資源又可以去處理更多事情了。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.117.26 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1604802069.A.675.html
留言