买了个阿里云香港突发性能实例 t6 ecs,硬盘 io 导致总是卡 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
keepRun
V2EX    程序员

买了个阿里云香港突发性能实例 t6 ecs,硬盘 io 导致总是卡

  •  
  •   keepRun 2023-11-11 07:56:22 +08:00 3615 次点击
    这是一个创建于 699 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我从最初的高效云盘升级到 ESSD PL0 ,我发现 ECS 的 IO 是真的坑爹,完全不能挂载为虚拟内存用,一旦系统使用硬盘作为虚拟内存,直接系统卡死好几分钟,只能强行关机重启。 用 hdparm 测试硬盘速度:

    hdparm -Tt --direct /dev/vda3 /dev/vda3: Timing O_DIRECT cached reads: 326 MB in 2.02 secOnds= 161.44 MB/sec Timing O_DIRECT disk reads: 430 MB in 3.01 secOnds= 142.82 MB/sec 

    速度是这样,我感觉这也太坑爹了吧,这不是机械硬盘的速度吗? IOPS 给的是 2k 。

    我用 docker 安装个 flask 、docker 启动 mysql 、docker compose 关闭 mysql 时不时就整个系统卡死,只能强行停止系统,然后重启,已经好几次了。每次系统卡死看云盘监控都是 IO 达到极限。

    我觉得很奇怪,我的机器是 2 核 1G 内存,我就 docker 启动个 mysql 都能给我整除整个系统卡死的问题,这 IO 也太差劲了吧。一开始我以为是内存问题,从 512m 加到 1G ,还是会出现卡死是系统 IO 打满情况;对比我在搬瓦工卖的 512m 1 核的小机器,我直接分了 1G 作为 swap 空间,跑同样的 docker compose 服务完全没问题,从未出现整个系统卡死情况,这阿里云的 ecs 咋就这么不争气?

    dockerfile 环境:mysql:8.0.35,python 安装的依赖:

    Flask==3.0.0 pillow-avif-plugin==1.4.1 pillow-heif==0.13.1 Pillow~=10.1.0 

    我查了好几次到底是啥问题,头都大了,发现最大可能就是这羸弱的 IO 导致,一开始我还用 swap ,后来开都不敢开,但是系统好像自动在内存不足时会用硬盘当 swap 空间,我已经打开了 ecs 的无性能约束模式。

    原本我想用这台阿里云 ecs 跑 java spring 项目+python flask+openresty+mysql ,结果光一个 mysql 就偶现让 ecs 卡死,我想问下各位我这种情况正常吗?阿里云硬盘 IO 这正常吗?我如果想自己搭建个 mysql 应该配个怎样的服务器

    35 条回复    2024-08-12 11:40:40 +08:00
    keepRun
        1
    keepRun  
    OP
       2023-11-11 08:14:50 +08:00   1
    感觉阿里云 ecs 适合计算不适合有稍微高的 io ,存储应该走 oss 、云数据库,这样本地基本没啥 io ,当然要是肯加钱,可以去开更好的 essd
    lgh
        2
    lgh  
       2023-11-11 08:26:38 +08:00 via iPhone
    我原来以为只有腾讯的轻量云服务器会这样,直到前两天买了 99 元/年的阿里云 2 核 2G 丐中丐……

    昨天用 docker 跑着 mysql 、redis 、rabbitmq (全都还是空的),用 pdm 安装到 numpy 和 pandas 的时候也卡死了几次,现象和楼主一样。
    从监控上看就是 iops 突然打满到 2k ,等重启恢复后用 free 看其实并没有开 swap 。

    最后把 docker 容器全部停了才能顺利安装。
    keepRun
        3
    keepRun  
    OP
       2023-11-11 08:43:02 +08:00
    原来你也是,同是天涯沦落人了。

    我找了好久的问题,我甚至怀疑 docker 版本、mysql 版本是否引入什么 bug ,怀疑 cpu 是否性能不够了,怀疑内存大小 512m 是否不够用,试了很多,我觉得问题最有可能就是 IO ,绝对不能有任何虚拟内存在硬盘上交互,否则系统卡死,因为 IOPS 太低了
    9of6
        4
    9of6  
       2023-11-11 08:56:30 +08:00
    我也遇到过,执行 dnf update 时卡住,控制台看 iops 和磁盘读带宽都拉满了。关闭"免费安全加固"后就没遇到这个问题了。
    keepRun
        5
    keepRun  
    OP
       2023-11-11 09:08:48 +08:00
    免费安全加固 这么坑爹?
    ripperdev
        6
    ripperdev  
       2023-11-11 09:22:45 +08:00
    @9of6 只能在系统里把 AliYunDun 进程 kill 掉么?阿里云的控制台能关吗?
    flyqie
        7
    flyqie  
       2023-11-11 09:27:03 +08:00 via Android
    @keepRun #5

    建议善用 @功能,不然对方看不到你的回复。
    yinmin
        8
    yinmin  
       2023-11-11 09:31:59 +08:00 via iPhone
    你是选哪个操作系统的? 换一个操作系统试试
    yinmin
        9
    yinmin  
       2023-11-11 09:37:13 +08:00 via iPhone
    另外,你这个情况大概率是突发性能的余量不足导致的。安装软件会用掉过多的突发性能的点数,你可以登录阿里云平台查一下突发性能的剩余情况。

    安装后等一天,让突发点数回血,之后就会稳定的。
    BH1SMB
        10
    BH1SMB  
       2023-11-11 09:43:40 +08:00
    BWH UAE SRV1/dev/sda2:
    Timing cached reads: 12898 MB in 2.00 secOnds= 6457.97 MB/sec
    Timing buffered disk reads: 5808 MB in 3.00 secOnds= 1935.55 MB/sec
    BH1SMB
        11
    BH1SMB  
       2023-11-11 09:44:12 +08:00
    QCLOUD_GZ_SRV1 /dev/vda1:
    Timing cached reads: 18536 MB in 1.99 secOnds= 9298.70 MB/sec
    Timing buffered disk reads: 588 MB in 3.01 secOnds= 195.37 MB/sec
    yinmin
        12
    yinmin  
       2023-11-11 09:44:36 +08:00 via iPhone
    跑 mysql 推荐“计算型”的虚拟服务器
    keepRun
        13
    keepRun  
    OP
       2023-11-11 09:45:53 +08:00
    @9of6 免费安全加固 这么坑爹?
    keepRun
        14
    keepRun  
    OP
       2023-11-11 09:48:05 +08:00
    @yinmin 我看监控: 超额 CPU 积分 一直是 0 ,累积 CPU 积分有 174 ,应该不是被限制了,况且我打开了无限制性能
    keepRun
        15
    keepRun  
    OP
       2023-11-11 09:50:52 +08:00
    @BH1SMB 搬瓦工给的 IO 是真的好,多年前买的便宜传家宝比我现在用的这个 ecs 好多了,128 一年吊打阿里云 ecs
    veike
        16
    veike  
       2023-11-11 09:51:36 +08:00
    发工单
    zapper
        17
    zapper  
       2023-11-11 09:53:55 +08:00
    我发过工单也找过客服。他说是我程序问题,直接退款了。
    9of6
        18
    9of6  
       2023-11-11 09:58:25 +08:00
    @keepRun 我是“更换操作系统”时没有勾选“免费安全加固”,好像控制台也能关云盾。

    之前开了两台同配置的 Centos Stream 9 ,一台勾了“免费安全加固”,一台没勾,然后我发现开了的就经常死机。
    9of6
        19
    9of6  
       2023-11-11 09:59:22 +08:00
    @ripperdev 应当是在控制台里关,直接 kill 后它好像还会自己拉起来
    leaflxh
        20
    leaflxh  
       2023-11-11 10:16:51 +08:00
    经常有阿里云用户因石头盘导致的性能问题而发帖
    106npo
        21
    106npo  
       2023-11-11 10:29:28 +08:00
    高效云盘 IOPS : min{1,800+8*容量, 5,000}
    PL0 IOPS : min{ 1,800+12*容量, 10,000 }
    你的盘没几百 GB,那 IOPS 在 2k 左右是符合性能规范的
    106npo
        22
    106npo  
       2023-11-11 10:32:14 +08:00
    吞吐性能是 高效云盘 min{100+0.15*容量, 140} PL0 min{100+0.25*容量, 180},你测出来也在范围内.最高也就 180MB/s,要突破 STAT 速度得 PL3.PL2 的速度刚好是 STAT 6Gps
    minipeach
        23
    minipeach  
       2023-11-11 10:38:03 +08:00
    IO 问题几个月前我也有遇到了,跑个 node 工程的编译直接卡死了,然后只能强制重启
    keepRun
        24
    keepRun  
    OP
       2023-11-11 11:31:48 +08:00
    石头盘真是难用,仿佛十年前的电脑
    lesismal
        25
    lesismal  
       2023-11-11 11:47:08 +08:00
    云厂本来就是单物理实例虚拟化,节点配置越低、单物理实例能支撑的虚拟化容器数量越多、可卖给用户的云节点数量越多,用户多、大家都用相同的硬盘并发 IO 、就容易遇到 IO 瓶颈。
    keepRun
        26
    keepRun  
    OP
       2023-11-11 11:55:33 +08:00
    云厂商这么卖真是赚呐
    @lesismal
    laminux29
        27
    laminux29  
       2023-11-11 13:22:11 +08:00
    虚拟化与集中存储的架构,本质就是这样的,没办法。

    服务器资源本来就是很贵的,为了降低成本,才搞了各种虚拟化、各种资源集中架构。优点是把服务器使用成本降低了,资源利用率提高了,但缺点就是牺牲了性能。

    既然你享受了便宜,就不要对性能有太大的奢求。真正追求性能的应用,一般是托管物理服务器。
    zoharSoul
        28
    zoharSoul  
       2023-11-11 20:17:30 +08:00
    把 swap 关了试试
    keepRun
        29
    keepRun  
    OP
       2023-11-11 20:20:32 +08:00 via Android
    @zoharSoul 已经关了,完全不敢用 swap 了
    ShuWei
        30
    ShuWei  
       2023-11-11 20:27:08 +08:00
    阿里云所有存储类型,都有给详细的性能指标,建议根据自己的需要进行选择,合理搭配就好
    keepRun
        31
    keepRun  
    OP
       2023-11-11 20:30:16 +08:00 via Android
    @ShuWei 研究了下,确实性能按照它说的一样,就是之前疏忽了,以为跟买搬瓦工的 vps 一样,没想到普通机器 io 这么差
    julyclyde
        32
    julyclyde  
       2023-11-12 19:13:11 +08:00
    啥叫突发性能实例啊?
    ShallowAi
        33
    ShallowAi  
       2023-11-12 22:04:36 +08:00 via Android   1
    国内云服务商所谓的云盾建议卸载,如果需要设置 SWAP ,建议使用 Zram (内存压缩),压缩部分的低速内存也比硬盘快,且不占用磁盘 I/O ,能够缓解内存不足的问题。
    keepRun
        34
    keepRun  
    OP
       2023-11-12 23:12:39 +08:00
    @ShallowAi 刚刚装了个 zram-tools ,搜了下,这东西确实不错
    lerry
        35
    lerry  
       2024-08-12 11:40:40 +08:00
    @minipeach 确实。。太垃圾了,我构建一个 nextjs 程序,之前用其他的顶多是慢一点,阿里云的直接卡死,只能重启
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1049 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 18:24 PVG 02:24 LAX 11:24 JFK 14:24
    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