提高 Golang API 請求性能

    提高 golang api 請求性能

    項目

    我最近開始開發加密貨幣交換聚合器?;旧衔視蛞欢巡煌慕灰姿l送請求并比較價格。這必須盡快完成。在這篇文章中,我將展示一些為了顯著提高我的表現而進行的調整。

    但是請記住,我不是專家(尤其是圍棋專家),我只是分享我自己個人項目的發現。

    改進

    這些改進按運行時最大改進的順序排列。

    1. 使用 goroutine

    在任何 go 程序中,goroutine 對于速度都是至關重要的。我最大的提升是同時發送請求。由于我需要連接 12 個不同的交易所,因此同時發送這些請求將我的運行時間從大約 24 秒減少到了大約 3 秒。

    立即學習“go語言免費學習筆記(深入)”;

    goroutines 非常棒并且非常容易使用。您應該盡可能包含它們。但始終要小心數據爭用

    2. 升級json庫

    我將 encoding/json 換成了 github.com/json-iterator/go。jsoniter 是一個快速 json 處理庫,可以作為標準庫的直接替代品,所以我不必更改任何代碼,只需圖書館開關。

    基準測試結果

    為了衡量性能改進,我運行了一些基準測試來比較encoding/json 和 jsoniter。以下是結果摘要:

    goos: linux
    goarch: amd64
    pkg: apispeedimprove
    cpu: amd ryzen 5 7640u w/ radeon 760m graphics      
    benchmarkencodingjson-12 140383 7381 ns/op
    benchmarkjsoniter-12 974605 1217 ns/op
    pass
    ok apispeedimprove 3.216s
    
    
    關注:愛掏網

    所以,jsoniter 比標準庫快大約 6 倍。

    3. 重用 http 處理程序

    我開始重用 http 處理程序,而不是為每個請求創建新的處理程序。通過設置一次處理程序并重復使用它,我減少了為每個請求創建新處理程序的開銷。

    基準測試結果

    以下是比較重用處理程序與為每個請求創建新處理程序的基準測試結果:

    goos: linux
    goarch: amd64
    pkg: apiSpeedImprove/httpReuse
    cpu: AMD Ryzen 5 7640U w/ Radeon 760M Graphics      
    BenchmarkReusedHandler-12 2179 505189 ns/op
    BenchmarkNewHandlerPerRequest-12 2341 507525 ns/op
    PASS
    ok apiSpeedImprove/httpReuse 7.270s
    
    
    關注:愛掏網

    與為每個請求創建新的處理程序相比,重用 http 處理程序可以略微提升性能。

    結論

    通過這些調整,我成功地將收集所有信息所需的時間從最初的 24 秒縮短到大約 2 秒。相當扎實的進步!

    如果您對我的基準測試代碼感興趣,可以在這里找到

    如果您喜歡這篇文章并想支持我的工作,您可以在這里捐款。

    以上就是提高 Golang API 請求性能的詳細內容,更多請關注愛掏網 - it200.com其它相關文章!

    聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
    發表評論
    更多 網友評論0 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 视频一区二区精品的福利| 亚洲福利视频一区二区| 国产一区二区三区露脸| 免费精品一区二区三区在线观看 | 成人免费视频一区二区三区| 久久精品一区二区三区日韩| 亚洲视频一区二区三区四区| 国产精品亚洲一区二区在线观看| 奇米精品视频一区二区三区| 无码一区二区三区免费视频| 97人妻无码一区二区精品免费| 海角国精产品一区一区三区糖心 | 理论亚洲区美一区二区三区| 日本一区二区三区高清| 无码精品一区二区三区| 国产午夜精品一区二区三区 | 国产精品香蕉在线一区| 精品一区二区三区色花堂| 性色av闺蜜一区二区三区| 少妇特黄A一区二区三区| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 亚洲成AV人片一区二区| 三上悠亚亚洲一区高清| 日韩一区二区三区在线观看| 精品人妻系列无码一区二区三区| 国产AV午夜精品一区二区入口| 精品无码成人片一区二区| 四虎成人精品一区二区免费网站 | 国产精品伦一区二区三级视频| 亚洲日韩AV一区二区三区四区| 久久精品亚洲一区二区三区浴池| 国产亚洲一区二区手机在线观看| 国产精品亚洲一区二区三区在线| 国产免费一区二区三区VR| 国产精品揄拍一区二区久久| 毛片一区二区三区| 免费人人潮人人爽一区二区| 色欲AV无码一区二区三区| 国产aⅴ一区二区| 最新欧美精品一区二区三区| 成人精品一区二区三区电影 |