溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

docker容器中的網(wǎng)絡(luò)延遲相對(duì)于宿主機(jī)有多高

發(fā)布時(shí)間:2021-12-30 14:46:58 來(lái)源:億速云 閱讀:142 作者:iii 欄目:云計(jì)算

這篇文章主要講解了“docker容器中的網(wǎng)絡(luò)延遲相對(duì)于宿主機(jī)有多高”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“docker容器中的網(wǎng)絡(luò)延遲相對(duì)于宿主機(jī)有多高”吧!

驗(yàn)證環(huán)境準(zhǔn)備

本次驗(yàn)證工具我使用了Netperf,Netperf是一種網(wǎng)絡(luò)性能的測(cè)量工具,可以測(cè)試基于TCP或UDP吞吐、響應(yīng)速率。Netperf包括Clien和Server端。Server端主要用來(lái)實(shí)現(xiàn)監(jiān)聽工作,Client端進(jìn)行測(cè)試。根據(jù)流量傳輸方式可分為以下三種:

  • 單方向最大吞吐傳輸大量數(shù)據(jù)。

  • 雙方向交互傳輸數(shù)據(jù),對(duì)于tcp為單連接。

  • 針對(duì)tcp,每個(gè)連接交互傳輸數(shù)據(jù)。

環(huán)境信息

總共兩臺(tái)機(jī)器,一臺(tái)機(jī)器啟動(dòng)了NetPerf服務(wù)端;另外一臺(tái)機(jī)器分別在容器內(nèi)和宿主機(jī)上運(yùn)行Netperf客戶端。

NetPerf服務(wù)端

1.下載wget http://repo.iotti.biz/CentOS/7/x86_64/netperf-2.7.0-1.el7.lux.x86_64.rpm

2.安裝 rpm -ivh netperf-2.7.0-1.el7.lux.x86_64.rpm

3.啟動(dòng) netserver 

NetPerf客戶端 

宿主機(jī)驗(yàn)證

首先直接在宿主機(jī)上安裝Netperf,然后進(jìn)行網(wǎng)絡(luò)性能測(cè)試,如下所示:

docker容器中的網(wǎng)絡(luò)延遲相對(duì)于宿主機(jī)有多高  

TCP_RR 是 netperf 里專門用來(lái)測(cè)試網(wǎng)絡(luò)延時(shí)的,缺省每次運(yùn)行10秒鐘。運(yùn)行以后,我們還要計(jì)算平均每秒鐘 TCP request/response 的次數(shù),這個(gè)次數(shù)越高,就說(shuō)明延時(shí)越小。如上所示,總共測(cè)試三輪,分別得出20146、20248、20221,平均是20221/s

容器中驗(yàn)證

在同一臺(tái)客戶端機(jī)器上,啟動(dòng)docker服務(wù),并安裝Netperf進(jìn)行驗(yàn)證,命令如下所示[root@test ~]# docker run -d --name test -v /home/net/:/home/net/ docker.harbor.com/centos:7.8 sleep 36000

我這里相當(dāng)于是把Netperf掛載到容器內(nèi)部,然后執(zhí)行:docker exec -it test bash進(jìn)入容器內(nèi)部安裝Netperf。

docker容器中的網(wǎng)絡(luò)延遲相對(duì)于宿主機(jī)有多高  

同樣運(yùn)行了三輪,分別得出的是19546、19541、19259,平均是19448/s。

從數(shù)據(jù)上看容器中比宿主機(jī)少了773次。773/20221= 4%也就是容器中網(wǎng)絡(luò)處理速度下降了4%,后來(lái)在網(wǎng)上找到了一些paper,有人得出結(jié)論是10%上下。 

容器中共享宿主機(jī)網(wǎng)絡(luò)運(yùn)行

[root@test ~]# docker run -d --name test --network host -v /home/net/:/home/net/ docker.harbor.com/centos:7.8 sleep 36000

docker容器中的網(wǎng)絡(luò)延遲相對(duì)于宿主機(jī)有多高  

可以發(fā)現(xiàn)當(dāng)使用共享宿主機(jī)網(wǎng)絡(luò)模式下,其網(wǎng)絡(luò)延遲跟宿主機(jī)基本沒(méi)有差異。

原因分析

網(wǎng)絡(luò)延遲的原因也不難想象,因?yàn)槊看尉W(wǎng)絡(luò)數(shù)據(jù)傳輸都要經(jīng)過(guò)veth接口,然后向外發(fā)送。這個(gè)虛擬的網(wǎng)絡(luò)設(shè)備除了沒(méi)有硬中斷,只有軟中斷處理過(guò)程,其它跟網(wǎng)卡發(fā)送數(shù)據(jù)邏輯基本相似,雖然發(fā)送速度很快。但即便如此也帶來(lái)了一定的網(wǎng)絡(luò)開銷,從而造成了網(wǎng)絡(luò)延遲。

感謝各位的閱讀,以上就是“docker容器中的網(wǎng)絡(luò)延遲相對(duì)于宿主機(jī)有多高”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)docker容器中的網(wǎng)絡(luò)延遲相對(duì)于宿主機(jī)有多高這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI