铁子们,求助 docker 中 MySQL 导入数据库速度问题

2024-11-13 21:53:27 +08:00
 BV28
我用 Windows 本上的 MySQL 容器导入数据库时特别缓慢,磁盘速度只有不到 10M ,占用却显示 70%。导入几乎遥遥无期。换用 M1 的 mac 同样用相同版本 MySQL 容器,导入相同数据库速度有 100M ,很快就导完了。
这是啥情况啊,Windows 本的磁盘我测单线程随机读写也有 100M 的,导入时 cpu 占用也不到 50%,感觉也不是 cpu 瓶颈啊。
2312 次点击
所在节点    MySQL
13 条回复
cc666
2024-11-13 22:07:00 +08:00
docker 怎么装的,volume 怎么挂载的
BV28
2024-11-13 23:04:31 +08:00
@cc666 docker desktop 默认的 wsl2 ,volume 我试过两种,挂载本地目录- v xxx:/mysql-path ,还有用 docker 创建的 volume 然后再-v volume0:/mysql-path 不挂载空间直接导入也试过了,都很慢。在任务管理器看的磁盘活动。
maocat
2024-11-13 23:11:37 +08:00
换个思路,打包目录挂载
hefish
2024-11-13 23:18:08 +08:00
op ,windows 是这样的。你还不如用 win 版的 mysql ,直接跑 win 里。数据库嘛,不跑 docker 也挺好的。
BV28
2024-11-13 23:35:20 +08:00
@maocat @hefish 我明天尝试挂载一个移动硬盘,排除一下是硬盘问题。现在插着的是一块 cacheless 光威盘,先把这个因素排除了,然后在尝试打包目录或者换到本地 mysql 。
hefish
2024-11-13 23:38:31 +08:00
感觉即便是 cacheless ,也没这么慢,应该是 wsl2 隔了几层 io 的原因
BV28
2024-11-13 23:39:32 +08:00
@hefish 我在里面也用 fio 测速了,没啥问题啊
hefish
2024-11-13 23:45:58 +08:00
不知道数据盘是直接用 win 的目录,还是新建了个 vhd 挂接进去的。。想必挂接进去的应该更快些。。
julyclyde
2024-11-14 09:12:29 +08:00
就为了一个不知所以非要用 docker 的选择
你还搭进去一个虚拟机
rockyliang
2024-11-14 13:18:59 +08:00
你的数据导入文件是存放在 windows 上的么,在 wsl2 里读取 windows 上的文件确实是很慢的,因为跨系统了
BV28
2024-11-14 13:28:11 +08:00
@rockyliang 我先导入到容器里再导进去的
importmeta
2024-11-14 15:09:34 +08:00
刚入行的时候, 第一份工作, 进去领导就让装 Ubuntu 和 Docker 开发, 之后就回不去了, 本地和服务器环境一样, Docker 映射出来的文件也能直接用. 不同操作系统映射出来文件的不能用.
BV28
2024-11-15 10:06:36 +08:00
破案了 xdm 就是 wsl2 垃圾的 IO 性能,导致 docker 中运行的 mysql 性能极差。我之前知道 wsl2IO 垃圾,没想到这么垃圾。

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

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

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

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

© 2021 V2EX