精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

HTTP 框架 Hertz 實踐入門:性能測試指南

開發 架構
本文旨在分享開發者在壓測 Hertz 時需要了解的場景和技術問題。

2021 年 9 月 8 日,字節跳動宣布正式開源 CloudWeGo。CloudWeGo 是一套字節跳動內部微服務中間件集合,具備高性能、強擴展性和穩定性的特點,專注于解決微服務通信與治理的難題,滿足不同業務在不同場景的訴求。2022 年 6 月 21 日,Hertz 正式開源。

Hertz 鏈接:https://github.com/cloudwego/hertz,歡迎大家共同參與建設^_^

日前,CloudWeGo 團隊正式開源字節跳動最大的 HTTP 框架 Hertz。Hertz 在發布之后得到了大量用戶的關注,開源四個月以來,Hertz 已經收獲了 2k+ star。有很多用戶自己進行了測試,感謝社區對我們的關注和支持。

本文旨在分享開發者在壓測 Hertz 時需要了解的場景和技術問題。這些建議有助于用戶更好地結合真實 HTTP 場景對 Hertz 進行調優,使之更貼合業務需要、發揮最佳性能。用戶也可以參考官方提供的壓測項目 hertz-benchmark [1]了解更多細節。

1. 微服務 HTTP 場景的特點

Hertz 誕生于字節跳動大規模微服務架構實踐,面向的場景自然是微服務場景,因此下面會先介紹微服務 HTTP 場景的特點,方便開發者深入理解 Hertz 在其中的設計思考。

  • HTTP 通信模型

微服務間的通信通常以 Ping-Pong 模型為主,除了常規的吞吐性能指標外,每次 HTTP 的平均時延也是開發者需要考慮的點。吞吐達到瓶頸時可以通過增加機器快速解決,但對用戶使用體驗有顯著影響的時延卻沒有那么容易降低。在微服務場景下,一次調用往往需要多個微服務協作完成,即使每個節點延遲很低,最終匯聚到鏈路上的時延也會被放大,因此微服務場景下時延指標是開發者更應該關注的點。Hertz 在保證吞吐的前提下,也針對時延做了一定優化。

  • 長短連接使用

由于 TCP 連接首次建立時需要三次握手,如果每個請求都建立新連接,這部分的開銷是非常大的。因此對于時延敏感型服務,盡量使用長連接完成請求。在 HTTP 1.1 中,長連接也是默認的選項。但是沒有銀彈,維持連接也需要消耗資源,長連接的水平擴展能力也不如短連接。因此,在某些場景下并不適合使用長連接,比如定時拉取配置的場景,在這個場景下,建連時延對配置影響并不大,且當配置中心負載過高時,希望能夠方便的進行水平擴容,這時短連接可能是一個更好的選擇。

  • 包體積大小

一個服務的包大小取決于實際的業務場景。HTTP 場景的數據可以放在 query、path、header、body 等地方,不同位置對解析造成的影響也不一樣。HTTP 的 header 是標識符協議,在沒有找到特定的標識符之前,框架并不知道 header 還有多少,因此框架需要收到全部的 header 后才能夠解析完成,對框架的內存模型不很友好。Hertz 也針對 header 解析做了特殊的優化,分配足夠的 buffer 空間給 header,減少 header 處理時跨包拷貝的開銷。

同時在字節跳動內部線上服務的統計中,發現大部分包在 1K 以內(但是太小的包沒有實際意義,比如固定返回 "hello world"),同時大包場景上不封頂,各個包大小均有涉及,所以 Hertz 在最常用的 128k 以內的包的性能(吞吐和時延)進行了重點優化。

  • 并發數量

每個實例的上游可能會有很多個,不會只接受某個實例的請求;而且,HTTP 1 的連接不能夠多路復用,每條連接上只能同時處理一個請求。因此 server 需要接受多個連接同時處理。不同服務的連接使用率也不同,比如壓測服務的連接使用率很高,一個請求完成后馬上就會進行下一個請求;有的服務連接使用率很低,雖然是長連接,但是只使用一次。這兩者使用的連接模型并不相同,前者應使用 goroutine per connection 的模型減少上下文的切換,后者應使用協程池減少過多 goroutine 的調度開銷。Hertz 也同時支持這兩種場景,用戶可以根據自己的業務場景選擇合適的配置。

2. 針對 HTTP 場景進行壓測

2.1 使用貼近自己的場景

Github 上的壓測項目有很多,網絡上也有很多性能測試報告,但是這些項目和測試不一定貼合自己。舉個極端一點的例子,在真實場景中你會寫一個項目無論 client 發什么 server 都只回 ??hello world?? 嗎?很遺憾,很多的壓測項目就是這么做的。

在進行壓測前,應考慮自己真正的使用場景,比如:

  • 長短連接的使用:使用長連接還是短連接更符合自己的場景。
  • 連接使用率的估算:如果使用長連接,且連接使用率很高(大部分場景),則使用默認配置即可;如果連接使用率很低,可以添加配置:server.WithIdleTimeout(0),將 goroutine per connection 的模型修改為協程池模型,并進行對比測試。
  • 數據位置及大小的確定:上面提到不同位置(如 query、header、body 等)及大小的數據對框架可能造成影響,如果所有框架的性能都比較一般,可以考慮換一個數據傳輸位置。
  • 并發數的確定:有的服務屬于輕業務重框架,這個時候框架的并發可能會很高;有的服務屬于重業務輕框架,這個時候框架的并發可能會很低。

如果只是想看一下框架的性能,可以使用常規的場景:長連接、較高連接使用率、1k body、100 并發等。hertz-benchmark 倉庫默認的壓測配置也是如此。同時 hertz-benchmark 倉庫也開發給用戶 header、body、并發數的配置,用戶可以方便的修改這些配置完成貼合自己的壓測。

2.1.1 確定壓測對象

衡量一個 HTTP 框架的性能需要從兩個視角分別去思考:Client 視角與 Server 視角。在大規模的業務架構中,上游 Client 不見得使用的也是下游的框架,而開發者調用的下游服務也同樣如此,如果再考慮到 Service Mesh 的情況就更復雜了。

一些壓測項目通常會把 Client 和 Server 進程混部進行壓測,然后得出整個框架的性能數據,這其實和線上實際運行情況很可能是不符的。

如果要壓測 Server,應該給 Client 盡可能多的資源,把 Server 壓到極限,反之亦然。如果 Client 和 Server 都只給了 4 核 CPU 進行壓測,會導致開發者無法判斷最終得出來的性能數據是哪個視角下的,更無法給線上服務做實際的參考。

2.1.2 使用獨占 CPU

雖然線上應用通常是多個進程共享 CPU,但在壓測場景下,Client 與 Server 進程都處于極端繁忙的狀況,此時共享 CPU 會導致大量上下文切換,從而使得數據缺乏可參考性,且容易產生前后很大波動。

所以我們建議是將 Client 與 Server 進程隔離在不同 CPU 或者不同獨占機器上進行。如果還想要進一步避免其他進程產生影響,可以再加上 nice -n -20 命令調高壓測進程的調度優先級。

另外如果條件允許,相比云平臺虛擬機,使用真實物理機會使得測試結果更加嚴謹與具備可復現性。

3. 性能數據參考

在滿足上述要求的前提下,我們基于當前最新版本對多個框架進行了壓測對比,壓測代碼在 hertz-benchmark 倉庫。在充分壓滿 Server 的目標下,Hertz 的 P99 延遲在所有壓測框架中最低,吞吐也是屬于第一梯隊,且在持續優化中。

  • CPU: AMD EPYC 7Y83 64-Core Processor 2.7GHz
  • 運行限定 server 4-CPUs,client 16-CPUs
  • OS:Debian GNU/Linux 10 (buster)
  • Go 1.19
  • hertz v0.3.2,fasthttp v1.40.0,gin v1.8.1,fiber v2.38.1

圖片

四個框架的吞吐和時延比較

圖片

三個框架的吞吐和時延比較

4. 結語

Hertz 作為一個超大規模企業級的微服務 HTTP 框架,其在設計之初就更傾向于解決大規模微服務場景下的各種問題。在推廣過程中也遇到了各種各樣的服務,踩了各種各樣的坑,也是基于這些服務和遇到的問題寫了本文。歡迎廣大開發者基于本文提供的測試指南,針對自己的實際場景選擇合適的工具。更多問題,請在 GitHub 上提 Issue 交流。

相關鏈接

[1] hertz-benchmark: https://github.com/cloudwego/hertz-benchmark

責任編輯:龐桂玉 來源: 字節跳動技術團隊
相關推薦

2022-06-22 06:49:39

Hertz開源HTTP 框架

2022-10-14 14:44:04

字節跳動ByteTechHTTP 框架

2024-11-07 11:46:41

2023-08-30 13:22:00

測試框架工具

2012-12-18 13:32:45

IBMdW

2010-12-31 13:30:12

2014-07-28 09:52:14

PythonPython性能

2020-12-04 10:42:54

GithubSSDNode.js

2021-11-28 08:04:27

.Net性能測試

2022-06-17 09:30:00

參數化測試TestNG測試

2022-08-15 08:01:35

微服務框架RPC

2024-08-20 09:59:22

2024-07-03 10:09:29

2024-11-13 11:02:03

微服務框架項目

2022-01-18 07:40:27

滲透測試黑客

2024-11-08 13:04:08

項目Hertz接口

2025-10-20 08:28:48

2023-06-05 07:49:13

?左移測試敏捷

2023-07-17 13:57:05

2018-06-07 08:48:16

性能測試敏捷開發持續集成
點贊
收藏

51CTO技術棧公眾號

久久综合久久综合九色| 99re8这里有精品热视频免费| 91视频在线看| 国产成人精品久久| 丁香六月激情综合| 不卡一区视频| 香蕉成人啪国产精品视频综合网 | 日韩中文字幕| 五月婷婷欧美视频| 欧美三级电影在线播放| 91麻豆国产在线| 欧美日韩午夜| 亚洲人成电影网站色…| 拔插拔插华人永久免费| 98色花堂精品视频在线观看| 久久久一区二区| 国产美女久久精品香蕉69| 综合五月激情网| 西野翔中文久久精品国产| 欧美亚日韩国产aⅴ精品中极品| 艳母动漫在线观看| 无码精品人妻一区二区三区影院| 日韩精品91亚洲二区在线观看| 综合欧美国产视频二区| 亚洲精品久久一区二区三区777| 色呦呦在线免费观看| 91在线看国产| 91久久久在线| 中文人妻av久久人妻18| 午夜国产欧美理论在线播放| 亚洲一级片在线看| 国产精品熟妇一区二区三区四区 | 天天干天天色天天干| av丝袜在线| 中文字幕中文字幕一区| 久久精品日韩| 精品人妻伦一二三区久久 | 国产人伦精品一区二区| 99一区二区| 一级黄色录像大片| 狂野欧美一区| 欧美精品videosex性欧美| 亚洲精品视频网址| 国产伦精品一区二区三区在线播放 | 在线亚洲欧美| 欧美久久精品一级黑人c片 | 精品亚洲自拍| 日韩三级中文字幕| 免费日韩中文字幕| 黄色在线免费观看网站| 国产精品天干天干在线综合| 久久伦理网站| 国内精品久久久久久久久久| 免费人成黄页网站在线一区二区 | 日韩精品无码一区二区三区| 天天操天天干天天干| 国产一区 二区 三区一级| 国产精品大片wwwwww| 亚洲欧美偷拍视频| 国自产拍偷拍福利精品免费一| 日日摸夜夜添一区| 潮喷失禁大喷水aⅴ无码| 综合色就爱涩涩涩综合婷婷| 日韩av综合网| 久久久久麻豆v国产精华液好用吗| 日韩在线成人| 日韩三级视频在线看| 欧美激情第一区| 警花av一区二区三区| 91精品国产乱码久久蜜臀| 最新天堂中文在线| 日韩久久一区| 在线播放中文一区| 亚洲理论中文字幕| 精品99re| 欧美r级在线观看| 无码国产69精品久久久久网站| 日本免费一区二区视频| 制服丝袜av成人在线看| 婷婷激情小说网| 国产视频一区二区在线播放| 91精品国产免费久久综合| 免费黄视频在线观看| 97久久精品| 亚洲精品日韩在线| 欧美 日韩 国产 成人 在线观看| av中文字幕一区二区| 中文字幕欧美亚洲| 国产精品 欧美激情| 欧美三区视频| 97超级碰碰碰| 国产女主播喷水视频在线观看| 久久久噜噜噜久久狠狠50岁| 国产精品丝袜视频| 99在线观看免费| av男人天堂一区| 欧美性天天影院| 天堂中文在线8| 国产精品区一区二区三| 玖玖精品在线视频| 成人免费观看在线观看| 在线影视一区二区三区| 九九热视频免费| 欧美美女在线直播| 国产亚洲精品激情久久| 91麻豆精品成人一区二区| 欧美午夜精品| 国产精品成人一区二区| 亚洲国产精品视频在线| 久久精品欧美日韩精品 | 激情黄产视频在线免费观看| 日本高清视频一区二区| 91精品人妻一区二区三区四区| 蜜臀91精品国产高清在线观看| 九色91av视频| 亚洲一区二区激情| 99久久伊人精品| 欧洲金发美女大战黑人| 99久久精品一区二区成人| 精品成人一区二区| 午夜成人亚洲理伦片在线观看| 在线亚洲激情| 国产乱人伦精品一区二区| 好吊日视频在线观看| 在线中文字幕一区| 亚洲av成人片色在线观看高潮| 亚洲欧美在线专区| 国产精品中文字幕久久久| 天堂а√在线8种子蜜桃视频 | 无码专区aaaaaa免费视频| 婷婷精品久久久久久久久久不卡| 亚洲人av在线影院| 中文字幕一区二区三区手机版| 韩国v欧美v亚洲v日本v| 亚洲视频在线二区| 精品三区视频| 亚洲网站在线播放| 无码视频在线观看| 久久亚洲精华国产精华液| 日本中文字幕网址| 国产精品乱战久久久| 欧美日本高清一区| www.成人在线观看| 亚洲女人的天堂| 日韩a一级欧美一级| 久久精品青草| 91网站免费看| 成人午夜在线影视| 日韩欧美第一区| 免费在线视频观看| 国产成人精品影院| 国产一二三区在线播放| 成人爽a毛片| 97国产精品人人爽人人做| 狠狠人妻久久久久久综合麻豆| 亚洲一区中文日韩| 日本一区二区在线免费观看| 亚洲三级观看| 免费99视频| 欧美123区| 日韩中文理论片| 国产欧美熟妇另类久久久| 亚洲色图欧洲色图婷婷| 香蕉在线观看视频| 亚洲精品系列| 免费在线国产精品| 国产激情欧美| 欧美精品制服第一页| 亚洲第一天堂网| 调教+趴+乳夹+国产+精品| mm131美女视频| 麻豆视频观看网址久久| www.亚洲一区二区| 2020最新国产精品| 26uuu久久噜噜噜噜| 国产视频精选在线| 欧美精品丝袜中出| 久久久久无码国产精品| 26uuu欧美| 欧美特黄aaa| 国内精品久久久久国产盗摄免费观看完整版 | 久久久噜噜噜久噜久久综合| 黄色成人免费看| 午夜精品免费| 欧美美乳视频网站在线观看| 日韩毛片免费看| 97在线观看免费高清| 第一视频专区在线| 欧美成人aa大片| 三级视频在线观看| 亚洲蜜臀av乱码久久精品 | 国产精品色一区二区三区| 中文字幕人妻熟女人妻a片| 99精品免费| 欧美爱爱视频网站| 日韩精品免费一区二区夜夜嗨| 国产精品美女呻吟| 国产又色又爽又黄刺激在线视频| 亚洲美女自拍视频| 国产视频在线观看免费| 欧美日韩精品在线| 亚洲天堂网av在线| 26uuu国产一区二区三区| 在线视频一二区| 久久av在线| 成年在线观看视频| 日本女优一区| 久久一区二区精品| 伊人久久大香线蕉av超碰| 国产精品吹潮在线观看| 91美女主播在线视频| 久久精品一区中文字幕| 青春有你2免费观看完整版在线播放高清 | 国产三级精品三级在线观看国产| 国产精品日韩在线| 免费在线小视频| 欧美精品一二区| 婷婷五月在线视频| 亚洲人成自拍网站| 欧性猛交ⅹxxx乱大交| 日韩一区二区免费在线电影| 波多野结衣视频在线看| 精品久久久久久国产| 欧美精品一区二区成人| 国产精品传媒视频| 色哟哟精品观看| 97精品国产露脸对白| 国产精品果冻传媒| 国产一区二区三区免费播放| 污污网站免费观看| 麻豆国产精品视频| 中文字幕 91| 日本欧美大码aⅴ在线播放| 男人日女人bb视频| 亚洲欧美大片| 国产一级爱c视频| 亚洲狼人精品一区二区三区| 黄黄视频在线观看| 亚洲成人一区| 国产系列第一页| 日产精品一区二区| 色综合电影网| 全球成人免费直播| 一区二区三区四区免费视频| 日韩精品网站| 亚洲视频电影| 亚洲精品国产首次亮相| 中文字幕第一页亚洲| 99精品视频在线观看免费播放| 亚洲一二三区精品| 久久精品国产亚洲夜色av网站| 色视频一区二区三区| 日韩久久精品| 这里只有精品66| 五月精品视频| 久久久久久av无码免费网站下载| 在线中文字幕第一区| 日本精品福利视频| 亚洲国内精品| 国产极品粉嫩福利姬萌白酱| 宅男噜噜噜66国产日韩在线观看| 又粗又黑又大的吊av| 午夜影院日韩| 艹b视频在线观看| 国产毛片精品国产一区二区三区| 又黄又色的网站| 91丨porny丨国产入口| 强伦人妻一区二区三区| 欧美激情一区二区三区四区| 任我爽在线视频| 亚洲精品视频在线| 国产网址在线观看| 在线观看不卡视频| 国产精品老熟女视频一区二区| 精品三级在线观看| 亚洲区小说区图片区| 这里只有精品丝袜| 18av在线视频| 456亚洲影院| 欧美天堂在线| 大波视频国产精品久久| 视频福利一区| 亚洲视频欧美在线| 亚洲国产日本| 男人添女人下面免费视频| 国产精品自拍av| 野花社区视频在线观看| 中文在线一区二区| 久久免费视频99| 在线观看三级视频欧美| 99视频国产精品免费观看a| 亚洲黄页视频免费观看| 午夜在线小视频| 性视频1819p久久| 国产精品日韩精品在线播放| 看欧美日韩国产| 欧美三级小说| 91插插插插插插插插| 成人avav影音| 午夜精品一区二区三级视频| 欧美日韩国产一区在线| 国产成人精品无码高潮| 亚洲人成在线观看网站高清| 里番在线播放| 成人做爰www免费看视频网站| 日韩av三区| 精品人妻人人做人人爽| 日韩综合在线视频| 午夜男人的天堂| 樱花草国产18久久久久| 国产女优在线播放| 亚洲国产日韩欧美在线图片| 国产福利在线播放麻豆| 日韩av免费一区| 精品人人人人| www.男人天堂网| 久久99国产精品久久99果冻传媒| 免费无码一区二区三区| 亚洲激情图片qvod| 91亚洲视频在线观看| 亚洲视频在线观看| 涩涩视频在线播放| av一本久道久久波多野结衣| 99久久婷婷国产综合精品电影√| 男人操女人免费| 91丨九色porny丨蝌蚪| 日韩精品一卡二卡| 日韩三级免费观看| 18av在线视频| 91亚洲va在线va天堂va国| 成人在线国产| 欧美日韩在线观看不卡| www国产成人| 国产嫩bbwbbw高潮| 亚洲美女福利视频网站| 日韩伦理av| 91久久精品久久国产性色也91| 久久福利综合| 国产区二区三区| 国产欧美久久久精品影院| 国产又大又粗又爽| 亚洲嫩模很污视频| 欧美成人ⅴideosxxxxx| 久久另类ts人妖一区二区| 宅男噜噜噜66一区二区| 熟妇高潮精品一区二区三区| 亚洲成人精品影院| 香蕉人妻av久久久久天天| 97国产精品免费视频| 少妇高潮一区二区三区| 色欲av无码一区二区人妻| 97精品视频在线观看自产线路二| 久久久久久久久黄色| 亚洲香蕉成人av网站在线观看 | 九色91国产| 亚洲综合国产| 中国特黄一级片| 777午夜精品免费视频| 国产福利视频在线观看| caoporn国产精品免费公开| 亚洲福利免费| 一区二区不卡免费视频| 色婷婷综合激情| 1pondo在线播放免费| 成人黄色激情网| 国产精品a级| 一出一进一爽一粗一大视频| 色94色欧美sute亚洲线路二| 日本中文字幕伦在线观看| 91九色视频导航| 亚洲精品护士| 国产精品美女高潮无套| 4hu四虎永久在线影院成人| 天堂av资源在线观看| 久久精品aaaaaa毛片| 蜜臀av性久久久久蜜臀aⅴ流畅| 黄视频网站免费看| 亚洲精品久久久一区二区三区| 中文字幕av一区二区三区佐山爱| 一区二区三区四区欧美日韩| 懂色av噜噜一区二区三区av| 欧美一区二区三区不卡视频| 久久精品久久久久电影| 国产精品久久久久久久久久白浆| 一级在线免费视频| 一区二区三区精品视频| 国内三级在线观看| 亚洲精品欧美日韩专区| 免费日韩精品中文字幕视频在线| 极品色av影院| 亚洲精品大尺度| 超碰国产精品一区二页| 成人免费aaa| 中文字幕亚洲精品在线观看| 欧美特黄一级视频| 国产主播欧美精品| 国产欧美二区| 岛国毛片在线观看| 国产午夜精品视频| 国产精品1luya在线播放|