成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

影響TCP連接吞吐量的致命因素:HOL

網絡 網絡管理
雖然HTTP/2解決了HTTP/1.1的HOL問題,但由于是建立在TCP基礎上,所以仍然存在TCP層面的HOL問題。

一、什么是HOL

HOL是Head of line blocking的意思,在互聯網領域,包括HTTP head of line blocking和 TCP head of line blocking。

1. HTTP Head of line blocking

Wikipedia對HTTP HOL的解釋如下:

影響TCP連接吞吐量的致命因素:HOL (干貨)

雖然HTTP/2解決了HTTP/1.1的HOL問題,但由于是建立在TCP基礎上,所以仍然存在TCP層面的HOL問題。

2.  TCP Head of line blocking

TCP HOL定義如下:

影響TCP連接吞吐量的致命因素:HOL (干貨)

例如在TCP接收緩沖區,請求的第一個數據包由于某種原因一直未到達,緩沖區里面的后續數據包就無法傳遞給上層應用,只能處于等待中,直到第一個數據包過來,才能一起傳遞給上層應用。

TCP HOL帶來的問題具有普遍性。只要利用TCP,就有這方面的問題,因此影響范圍非常廣泛。

二、案例分析

1.  Network switches

影響TCP連接吞吐量的致命因素:HOL (干貨)

上圖展示了網絡交換機中不同input隊列是如何因為HOL等待的。

第一個和第三個input隊列,都在競爭使用Output 4。如果交換機選擇傳遞第三個input隊列的數據包,那么第一個input隊列的數據包只能選擇等待。第一個input隊列中的序號3數據包因為HOL只能等待,雖然output 3是空閑的。

2.  單個連接 vs 多個連接實驗

下面是并發為1的吞吐量,為153.60 reqs/sec。

 

影響TCP連接吞吐量的致命因素:HOL (干貨)

 

 

影響TCP連接吞吐量的致命因素:HOL (干貨)

 

下面是并發為10的吞吐量,為145.08 reqs/sec。

影響TCP連接吞吐量的致命因素:HOL (干貨)

影響TCP連接吞吐量的致命因素:HOL (干貨)

這里10個并發比1個并發吞吐量還低,是因為測試環境是docker環境,硬件配置差所導致。

上面測試是在無丟包網絡環境下進行的,那么在網絡丟包情況下會怎么樣?

我們模擬丟包率1%的網絡環境。

影響TCP連接吞吐量的致命因素:HOL (干貨)

并發為1的吞吐量下降為37.41 reqs/sec。

影響TCP連接吞吐量的致命因素:HOL (干貨)

并發為10的吞吐量為132.20 reqs/sec。

影響TCP連接吞吐量的致命因素:HOL (干貨)

我們發現在丟包情況下,多個并發效果更好。這是因為多個并發情況下,HOL blocking問題得到了一定的緩解,而單個連接,則因為HOL blocking問題顯得很明顯。

3.  tcpcopy和intercept交互

很長一段時間內,tcpcopy和intercept的交互只用了一個連接。當測試壓力比較大的時候,網絡會惡化,很容易出現丟包或者來不及接收數據的狀況,從而導致大量信息被阻塞住。

后來為了解決單個連接導致HOL的問題,采用了多個連接,性能得到了極大提升。

4.  Java netty游戲框架

下圖展示了一個Java netty框架。

影響TCP連接吞吐量的致命因素:HOL (干貨)

一個線程既用來處理讀數據,又用來寫數據,線程一會兒忙于處理讀事件,一會兒處理寫事件。集中處理讀事件的時候,待寫的數據被阻塞了,而集中處理寫事件的時候,讀事件被阻塞了。壓力一大,延遲就會變得很大。

三、HOL blocking帶來的問題

影響TCP連接吞吐量的致命因素:HOL (干貨)

四、總結

程序架構中,盡量采用多個連接的方式來處理各種事件,否則很容易遇到TCP的HOL阻塞問題。

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2023-11-07 15:11:46

Kafka技巧

2023-08-03 14:18:29

Rust阻塞函數

2013-04-19 09:45:20

AMPLabHadoopHDFS

2024-05-23 16:41:40

2023-02-09 08:57:11

Callable異步java

2024-09-12 15:24:29

2019-08-14 08:20:59

Iperf網絡吞吐量帶寬測試

2024-06-28 09:39:58

2024-09-09 14:12:38

2019-09-25 08:37:48

MySQL數據庫人生第一份工作

2019-09-29 15:36:01

吞吐量MySQL數據庫

2009-02-24 09:28:00

2009-07-27 13:26:45

數據吞吐量測試測試網速

2021-06-16 07:05:02

gRPC 網關HTTP

2010-08-23 10:16:09

2024-06-06 16:15:00

2019-07-26 15:41:27

程序員技能開發者

2019-01-23 10:21:32

吞吐量響應時間CPU

2015-12-04 13:42:40

物聯網消息服務集群設計

2024-11-08 13:36:09

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久一区精品 | www.47久久青青 | 国产成人区 | 亚洲欧美视频在线观看 | 免费一级欧美在线观看视频 | 成人免费黄色片 | 国产精品视频观看 | 国产精品亚洲第一区在线暖暖韩国 | 99综合| 久久1区 | 国产精品亚洲第一区在线暖暖韩国 | 亚洲成人精 | 无码一区二区三区视频 | 91精品国产乱码久久久久久 | 91精品一区二区 | 亚洲欧美日韩中文字幕一区二区三区 | 国产精品毛片在线 | 亚洲国产精品一区二区第一页 | 精品视频在线播放 | 在线观看国产视频 | 久草视频观看 | 国产丝袜一区二区三区免费视频 | 欧美狠狠操| 午夜激情在线 | 蜜桃黄网 | 日本不卡免费新一二三区 | 成人亚洲视频 | 麻豆久久久久久久 | 精品国产一区二区三区久久 | 女人精96xxx免费网站p | 国产精品免费看 | 精品国产一区久久 | 日本一区二区三区视频在线 | 免费在线视频a | 久久亚洲欧美日韩精品专区 | 天天操精品视频 | 欧美日韩一区二区三区视频 | 日韩伦理一区二区 | 亚洲免费在线 | 91在线精品视频 | 亚洲国产精品va在线看黑人 |