欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker對網(wǎng)絡(luò)和程序速度的影響解讀

 更新時間:2025年01月02日 11:23:04   作者:后會無期77  
本文通過對比分析,測試了在宿主機(jī)和Docker容器中部署Spring Boot程序的性能差異,在網(wǎng)絡(luò)延遲方面,Docker容器比宿主機(jī)慢0.1~0.2毫秒,在程序運(yùn)行速度方面,宿主機(jī)和Docker容器的平均運(yùn)行時間相近,單次運(yùn)行時間存在較大差異,無法確定Docker容器在速度上優(yōu)于宿主機(jī)

前言

程序即可以部署在容器內(nèi),也可以部署在docker容器中,那么兩者有什么區(qū)別?

部署在容器中相對于直接部署在宿主機(jī)上,網(wǎng)絡(luò)速度是否會變慢?程序運(yùn)行是否會慢?

環(huán)境說明

測試使用的服務(wù)器是百度智能云輕量級服務(wù)器,2核4G,6M寬帶。

  • 系統(tǒng): centos 7.9
  • docker版本: Docker version 20.10.13, build a224086
  • springboot版本: 2.7.3
  • JDK版本: 均為JDK8 (大版本相同避免了JDK大升級對程序運(yùn)行產(chǎn)生較大影響,也是為了盡量公平)

網(wǎng)絡(luò)延遲測試

兩個標(biāo)簽窗口,上圖直接使用宿主機(jī)進(jìn)行ping 命令,下圖docker的容器內(nèi)進(jìn)行ping命令,同時ping同一個ip地址。

根據(jù)多次ping命令的觀察,可以發(fā)現(xiàn)在docker容器內(nèi)進(jìn)行ping命令速度比宿主機(jī)內(nèi)慢0.1~0.2 ms。

結(jié)論:docker 對網(wǎng)絡(luò)的影響很小,大約比主機(jī)慢0.1~0.2毫秒。

程序速度測試

程序運(yùn)行速度的是,我們使用springboot 的web方式測試,代碼是生成一個倒序的數(shù)組,例如5,4,3,2,1,通過冒泡排序算法對數(shù)組排序(從小到大),得出排序所消耗的時間。

注意:

這里不使用隨機(jī)算法產(chǎn)生數(shù)組作為待排序樣本,是為了保證每次排序的樣本數(shù)組是完全一樣,保證每次測試公平。

代碼如下:

    @GetMapping("/test/{num}")
    public String test(@PathVariable("num") int num){
        long s=System.currentTimeMillis();
        int[] arr=new int[num];
       for(int i=num;i>0;i--){
           arr[num-i]=i;
       }
        //System.out.println(Arrays.toString(arr));
        BubbleSortMethod(arr);//冒泡排序
       // System.out.println(Arrays.toString(arr));
        long e=System.currentTimeMillis();
        return "排序:"+num+",耗時:"+(e-s)+" ms";
    }

    public static int[] BubbleSortMethod(int[] arr){
        int temp = 0;
        for (int i = 0; i < arr.length-1; i++) {
            for (int j = 0; j < arr.length-1 -i; j++) {
                if (arr[j] > arr[j+1]){
                    temp  = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        return arr;
    }

將程序打包為jar包,分別直接部署在宿主機(jī)和docker容器內(nèi)。

為了避免不確定因素,我們需要多次測試,求平均值。

測試num=100000,將10萬個數(shù)字進(jìn)行排序。

注:

為了避免服務(wù)器不同時刻,可能cpu負(fù)載不一樣,測試采用的交替方式,即一次宿主機(jī),一次docker,降低可能存在的不同時刻主機(jī)負(fù)載的問題。

編號宿主機(jī)模式(ms)docker模式(ms)
145904869
245854647
347924750
451164615
550875087
650635372
749785120
855165098
951255076
1053465331
平均耗時50125002

平均值計(jì)算:去掉一個最大,去掉一個最小,求平均數(shù)。

總結(jié):

  • 宿主機(jī)和 docker容器運(yùn)行程序的兩種方式,宿主機(jī)并沒有優(yōu)勢,docker容器運(yùn)行的方式會盡可能爭取主機(jī)的資源,雖然從平均值看,docker運(yùn)行的模式比宿主機(jī)直接運(yùn)行還快一點(diǎn),但是從單次比較,宿主機(jī)最快的一次運(yùn)行4590毫秒,而docker最快的一次是4647毫秒,這又反向說明docker模式的并不一定比主機(jī)模式快,所以docker的平均運(yùn)行比宿主機(jī)快屬于運(yùn)行誤差,不能佐證docker在速度上優(yōu)于主機(jī)。
  • 所以主機(jī)運(yùn)行模式和docker容器模式在程序運(yùn)行效率上沒有明顯的差異。

關(guān)于網(wǎng)上的結(jié)論

在做這個測試之前,網(wǎng)上的結(jié)論是物理機(jī)比docker快很多,或者快百分之多少,但是似乎都是以聽說的方式得到的結(jié)論。這里試驗(yàn)的目的為了以實(shí)際數(shù)據(jù)來得出結(jié)論,而不是靠猜測或者聽別人說。也非常希望有人以

實(shí)際的試驗(yàn)結(jié)論進(jìn)行辯駁,歡迎用事實(shí)依據(jù)的方法糾正。

上述試驗(yàn)僅供參考。

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker容器進(jìn)入的4種方式(小結(jié))

    Docker容器進(jìn)入的4種方式(小結(jié))

    本文主要介紹了Docker容器進(jìn)入的4種方式(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Docker 查看鏡像信息的方法

    Docker 查看鏡像信息的方法

    這篇文章主要介紹了Docker 查看鏡像信息的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 淺談關(guān)于Docker容器互聯(lián)的初步實(shí)踐

    淺談關(guān)于Docker容器互聯(lián)的初步實(shí)踐

    這篇文章主要介紹了淺談關(guān)于Docker容器互聯(lián)的初步實(shí)踐,本文介紹了使用網(wǎng)橋(bridge)來對容器進(jìn)行互聯(lián),非常具有實(shí)用價值,需要的朋友可以參考下
    2018-10-10
  • docker容器非root用戶提權(quán)的問題解決

    docker容器非root用戶提權(quán)的問題解決

    本文主要介紹了docker容器非root用戶提權(quán)的問題解決,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • docker如何使用阿里加速器的方法

    docker如何使用阿里加速器的方法

    本篇文章主要介紹了docker如何使用阿里加速器的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • 國內(nèi)可用的Docker鏡像源測試指南

    國內(nèi)可用的Docker鏡像源測試指南

    在使用 Docker 時,由于網(wǎng)絡(luò)原因,直接從 Docker Hub 拉取鏡像可能會遇到速度緩慢甚至無法訪問的情況,因此,使用國內(nèi)的 Docker 鏡像源可以顯著提升鏡像拉取速度,本文將介紹如何選擇和測試國內(nèi)可用的 Docker 鏡像源,需要的朋友可以參考下
    2025-02-02
  • docker compose方式如何安裝ClickHouse數(shù)據(jù)庫

    docker compose方式如何安裝ClickHouse數(shù)據(jù)庫

    這篇文章主要介紹了docker compose方式如何安裝ClickHouse數(shù)據(jù)庫問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • docker 搭建單機(jī)PostgreSQL操作詳解

    docker 搭建單機(jī)PostgreSQL操作詳解

    本文通過實(shí)際案例操作演示了如何基于Docker搭建pg的完整過程,并補(bǔ)充了pg數(shù)據(jù)庫操作的常用命令和授權(quán)命令,感興趣的朋友一起看看吧
    2025-04-04
  • Docker如何批量刪除images

    Docker如何批量刪除images

    這篇文章主要介紹了Docker如何批量刪除images問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • docker search命令的具體使用

    docker search命令的具體使用

    本文主要介紹了docker search命令的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02

最新評論