Docker 上的 MySQL,发现特别慢,该怎么优化?

2020-06-07 16:22:45 +08:00
 zealinux

就用的默认配置,而且是官方的 MySQL 镜像。 开发时就发现卡到不行,测试也发现了。 大家有没有遇到这个问题?

如果想部署 MySQL Docker 到生产环境上,我要该怎么优化这个?

(交付给客户的服务都要 Docker 化)


Ubuntu 18.04 MySQL 8.0

5680 次点击
所在节点    Docker
24 条回复
anyele
2020-06-07 17:25:27 +08:00
怎么卡,拿出测试数据,就一句卡,什么表达
zhoushiya
2020-06-07 18:02:31 +08:00
先检查一下是用 localhost 还是 127.0.0.1 连接的
whileFalse
2020-06-07 18:08:17 +08:00
开发的时候 mysql 部署在研发本机上吗? Windows/Mac 上的 docker 是跑在虚拟机里的,虚拟机的 CPU 限制给的多少。
shiny
2020-06-07 18:11:03 +08:00
我们单表几千万的数据,MySQL8.0 跑在 Docker 里,也没发现卡
aru
2020-06-20 14:27:01 +08:00
我司单表 1 亿的数据放在 docker 里面也飞快
bfme
2020-07-05 17:05:55 +08:00
@shiny 老哥 你们 mysql 在 docker 中怎么跑的,mysql 用 docker 起的集群吗?
shiny
2020-07-05 17:14:59 +08:00
@bfme 单表就几千万条,单机就能轻松应付了。
bfme
2020-07-05 17:18:11 +08:00
@shiny 不做高可用的吗。。你们出过宕机事件吗?
shiny
2020-07-05 17:24:41 +08:00
@bfme 宕机也不是 MySQL 引起的,它太稳了。唯一的问题是复杂场景下 MySQL 不能胜任,改成集群也没用,需要改架构。
bfme
2020-07-05 17:32:51 +08:00
@shiny 虽然不是 docker 引起的,但是要保证 mysql 数据的不丢失, 生产上没有高可用 很慌啊。。不敢这么用。
shiny
2020-07-05 17:56:37 +08:00
@bfme 不会丢的,反而上 docker 之前 mysql 损坏过不少次。这种方式用了四年,两个项目,目前的项目不到一年跑了两千三百万订单,金额五个亿。
bfme
2020-07-05 18:04:14 +08:00
@shiny 🐂🍺
shiny
2020-07-05 18:12:04 +08:00
@bfme
需要看你需求场景,如果一开始数据量比较小,需要专注在业务上,而不是架构:很多人都是操着卖 bf 的心,干着卖白菜的业务;
一个系统里,最贵的都是用户和流量;哪怕业务量上来了,也可以简单通过升级硬件配置来支持起增长的流量;
我见到的最多的场景是:架构复杂,用了好几台服务器,但项目最后倒闭了,公司一分钱也不想多出;由于续费成本高,干脆把项目关停了。

最后,如果你的平台一开始量就这么大就当我没说,还是要好好规划架构的。
bfme
2020-07-05 18:14:49 +08:00
@shiny 项目倒是不大,但是公司出了几次安全事件,服务器被攻击过,搞得老板对安全问题特别敏感,不敢在这块掉以轻心。
bfme
2020-07-05 18:16:02 +08:00
@shiny 现在测试上 mysql 都是跑在 docker,生产还是主从架构。
网上也没看到过用 docker 跑 mysql 集群的。
shiny
2020-07-05 18:21:05 +08:00
@bfme 美团就是 Docker 里跑 MySQL 集群的。安全这块和是否跑在 Docker 倒关系不大,反而可能更安全,但主要还是消除短板:任何一块短板都可能是攻击的跳板。
bfme
2020-07-05 18:23:58 +08:00
@shiny 有美团 mysql 集群的资料吗?学习学习。
bfme
2020-07-05 18:24:31 +08:00
@shiny 感谢了,其他安全也是需要补足的。
shiny
2020-07-05 18:37:33 +08:00
@bfme 有看到一些分享文章,但没那么详细。还有同程艺龙 QCon 2018 上有个分享《 MySQL 的 Docker 容器化大规模实践》会更详细点。但他们的量级都太大,他们的痛点在一般公司里都不是问题。
shiny
2020-07-05 18:38:40 +08:00
@bfme 真要集群了,不如研究下分布式数据库

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

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

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

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

© 2021 V2EX