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

2023-11-11 07:56:22 +08:00
 keepRun

我从最初的高效云盘升级到 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 应该配个怎样的服务器

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

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

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

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

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

安装后等一天,让突发点数回血,之后就会稳定的。
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
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
2023-11-11 09:44:36 +08:00
跑 mysql 推荐“计算型”的虚拟服务器
keepRun
2023-11-11 09:45:53 +08:00
@9of6 免费安全加固 这么坑爹?
keepRun
2023-11-11 09:48:05 +08:00
@yinmin 我看监控: 超额 CPU 积分 一直是 0 ,累积 CPU 积分有 174 ,应该不是被限制了,况且我打开了无限制性能
keepRun
2023-11-11 09:50:52 +08:00
@BH1SMB 搬瓦工给的 IO 是真的好,多年前买的便宜传家宝比我现在用的这个 ecs 好多了,128 一年吊打阿里云 ecs
veike
2023-11-11 09:51:36 +08:00
发工单
zapper
2023-11-11 09:53:55 +08:00
我发过工单也找过客服。他说是我程序问题,直接退款了。
9of6
2023-11-11 09:58:25 +08:00
@keepRun 我是“更换操作系统”时没有勾选“免费安全加固”,好像控制台也能关云盾。

之前开了两台同配置的 Centos Stream 9 ,一台勾了“免费安全加固”,一台没勾,然后我发现开了的就经常死机。
9of6
2023-11-11 09:59:22 +08:00
@ripperdev 应当是在控制台里关,直接 kill 后它好像还会自己拉起来
leaflxh
2023-11-11 10:16:51 +08:00
经常有阿里云用户因石头盘导致的性能问题而发帖

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/990849

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX