V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
BV28
V2EX  ›  MySQL

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

  •  
  •   BV28 · 36 天前 · 1311 次点击
    这是一个创建于 36 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我用 Windows 本上的 MySQL 容器导入数据库时特别缓慢,磁盘速度只有不到 10M ,占用却显示 70%。导入几乎遥遥无期。换用 M1 的 mac 同样用相同版本 MySQL 容器,导入相同数据库速度有 100M ,很快就导完了。
    这是啥情况啊,Windows 本的磁盘我测单线程随机读写也有 100M 的,导入时 cpu 占用也不到 50%,感觉也不是 cpu 瓶颈啊。
    13 条回复    2024-11-15 10:06:36 +08:00
    cc666
        1
    cc666  
       36 天前
    docker 怎么装的,volume 怎么挂载的
    BV28
        2
    BV28  
    OP
       36 天前
    @cc666 docker desktop 默认的 wsl2 ,volume 我试过两种,挂载本地目录- v xxx:/mysql-path ,还有用 docker 创建的 volume 然后再-v volume0:/mysql-path 不挂载空间直接导入也试过了,都很慢。在任务管理器看的磁盘活动。
    maocat
        3
    maocat  
       36 天前 via iPhone
    换个思路,打包目录挂载
    hefish
        4
    hefish  
       36 天前
    op ,windows 是这样的。你还不如用 win 版的 mysql ,直接跑 win 里。数据库嘛,不跑 docker 也挺好的。
    BV28
        5
    BV28  
    OP
       36 天前
    @maocat @hefish 我明天尝试挂载一个移动硬盘,排除一下是硬盘问题。现在插着的是一块 cacheless 光威盘,先把这个因素排除了,然后在尝试打包目录或者换到本地 mysql 。
    hefish
        6
    hefish  
       36 天前
    感觉即便是 cacheless ,也没这么慢,应该是 wsl2 隔了几层 io 的原因
    BV28
        7
    BV28  
    OP
       36 天前
    @hefish 我在里面也用 fio 测速了,没啥问题啊
    hefish
        8
    hefish  
       36 天前
    不知道数据盘是直接用 win 的目录,还是新建了个 vhd 挂接进去的。。想必挂接进去的应该更快些。。
    julyclyde
        9
    julyclyde  
       35 天前
    就为了一个不知所以非要用 docker 的选择
    你还搭进去一个虚拟机
    rockyliang
        10
    rockyliang  
       35 天前
    你的数据导入文件是存放在 windows 上的么,在 wsl2 里读取 windows 上的文件确实是很慢的,因为跨系统了
    BV28
        11
    BV28  
    OP
       35 天前
    @rockyliang 我先导入到容器里再导进去的
    importmeta
        12
    importmeta  
       35 天前
    刚入行的时候, 第一份工作, 进去领导就让装 Ubuntu 和 Docker 开发, 之后就回不去了, 本地和服务器环境一样, Docker 映射出来的文件也能直接用. 不同操作系统映射出来文件的不能用.
    BV28
        13
    BV28  
    OP
       34 天前
    破案了 xdm 就是 wsl2 垃圾的 IO 性能,导致 docker 中运行的 mysql 性能极差。我之前知道 wsl2IO 垃圾,没想到这么垃圾。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1101 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:02 · PVG 03:02 · LAX 11:02 · JFK 14:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.