每次 docker pull 就会有很高的 iowait,这个该怎么解决呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MrLonely
V2EX    Docker

每次 docker pull 就会有很高的 iowait,这个该怎么解决呢?

  •  
  •   MrLonely 2023-05-03 10:46:45 +08:00 1973 次点击
    这是一个创建于 893 天前的主题,其中的信息可能已经有所发展或是发生改变。
    不光是 docker pull ,我本地打包好的上传到 docker host 里用
    docker load -i mycontainer.tgz
    一样也是卡住很久,一看监控全是 iowait 。

    下意识是以为硬盘有问题,但是测试下来好像也还行。




    我的环境是 NUC11 ,SSD 用的是 PM9A1 ,Host OS 是 Win Server 2022 ,然后装了 VMware Workstation 16.1.2 ,在 Alpine 虚拟机里跑 Docker 。

    给 Alpine 分配了 4C8G 。
    所以这种情况下如何进一步排查呢?

    是 Alpine 的问题还是说 docker pull 和 load 本来就这么慢?
    但是好像我在 macOS 里的 Docker Desktop 就一般都很快啊。
    8 条回复    2023-05-03 23:34:43 +08:00
    lhx2008
        1
    lhx2008  
       2023-05-03 12:38:54 +08:00
    你这个磁盘性能也就一般,跟 mac 没得比,docker load 的时候,ioutil 写速度打满了没
    dw2693734d
        2
    dw2693734d  
       2023-05-03 14:31:50 +08:00
    搞个 nvme 的硬盘,读写 5000MB/s
    cxtrinityy
        3
    cxtrinityy  
       2023-05-03 14:34:31 +08:00 via Android
    我 openwrt docker 里 pull 也是 iowait ,还有刚启动 docker 起服务也卡 io ,不放系统盘放下载盘又怕看 emby 时候各种读写卡 io 导致整个 docker 服务都卡
    chenluo
        4
    chenluo  
       2023-05-03 14:56:39 +08:00
    这个测试是什么参数? bs/depth 之类的. disk stats 结果里还有个 util,是不是接近 100%了?
    本身 PM9A1 的顺序读写肯定不止这个数.
    MrLonely
        5
    MrLonely  
    OP
       2023-05-03 19:53:32 +08:00
    @lhx2008 @dw2693734d 前面没说清楚,我这个磁盘测试是在 alpine 里测试的。PM9A1 是个 PCIe4.0 的 M.2 盘。在宿主机里测硬盘是能有 5000M/s 的。macOS 的 SSD 速度会更快一点,但是相比 VM Host 的硬盘也就百分之二三十的提升吧。感觉不应该造成这么大的差距。

    ioutil 应该怎么看速度打没打满呀?


    @chenluo
    fio --name=testfile --ioengine=sync --rw=randwrite --bs=4k --numjobs=1 --size=1G --runtime=60 --time_based --end_fsync=1
    是这行代码在 alpine 里跑的测试。
    如果是放在 PM9A1 上的 VM Disk ,这个测试结果是正常的吗?如果是直接在 PM9A1 上读写,确实是有 5000M 的。
    dw2693734d
        6
    dw2693734d  
       2023-05-03 22:19:08 +08:00
    @MrLonely 宿主是 windows 吗
    MrLonely
        7
    MrLonely  
    OP
       2023-05-03 22:43:14 +08:00
    @dw2693734d 是,裸机装的 Windows Server 2022 ,然后用 VMware Workstation 装 Alpine 运行 Docker 。
    dw2693734d
        8
    dw2693734d  
       2023-05-03 23:34:42 +08:00
    @MrLonely 那得把宿主机换成是 linux 的要好点吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2654 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 06:37 PVG 14:37 LAX 23:37 JFK 02:37
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86