使用 Docker 部署 MySQL 对性能有没有损耗呢?

2021-11-30 09:05:06 +08:00
 Geekerstar

以前用 Docker 部署 MySQL 到云服务器,总感觉比二进制安装的访问要慢,不知道是不是错觉。

新的生产项目想用 Docker 来部署,要把数据及配置挂载到宿主机上,另外还要弄个一主多从,读写分离。有没有什么性能损耗或注意事项呢?用的阿里云服务器

7092 次点击
所在节点    Docker
33 条回复
peyppicp
2021-11-30 11:19:04 +08:00
我司 mysql 数据库早就都放到 docker 上容易化了
VIVVACI
2021-11-30 11:38:50 +08:00
VIVVACI
2021-11-30 11:39:20 +08:00
@VIVVACI 引用一下之前老哥发的 pdf 链接,看起来没有什么影响
timethinker
2021-11-30 11:48:52 +08:00
容器化的目的是什么?更新频繁么?数据库这种软件要的就是稳定性,很少有频繁操作吧,那么容器话的目的是为了安装省事么?
yianing
2021-11-30 12:45:30 +08:00
@qwe520liao 资源和数据隔离,部署方便只是附带的
thevita
2021-11-30 14:34:44 +08:00
@tinkerer 很多同学看来对 docker 有很深的误解啊,docker storage 需要能支撑 分层( layer )的文件系统,这个层就对应是 docker image 那个层,修改都会在最新的一层里面, 有很多种可用的实现,但不管怎样,从原来来说,肯定是有损耗的,( io 可能要跨越多层,需要多次访存)

而 volume, 这个东西 一般使用 bind mount, 这个东西在 linux 下用的其实不少,问题不大

我觉着 mysql containerlize 最大的问题还是,和容器相容性多少有点不合适,毕竟不是这么设计的,随之而来很多运维和管理上会遇到一些 以前没有的问题等,或者需要自己搞写工具来解决,没明显收益话,划不来,mysql 面临的运维的问题仅仅 docker 是提供不了什么帮助的

最好, 我在非生产环境,和内部工具(团队协作等用的工具,访问量不大,也对数据安全要求不高)用 docker 里面跑 mysql 2 年+,没遇到什么什么坑,仅供参考,当时这么用也仅仅是为了方便,没有任何其他的考虑
Vegetable
2021-11-30 14:47:41 +08:00
面对大型项目时,MySQL 不仅需要独享物理机(或 ECS),甚至还要部署集群。这时候看起来,使用 docker 属于脱裤子放屁。
但是容器化的数据库非常适合小型项目。比如我最用的场景:
一个 docker-compose.yml 直接拉起完整的测试和预发布环境,包含了各种必要依赖,并把数据挂在宿主机,这时候容器化就非常必要了,因为这服务器上往往不只一套环境,提供的隔离和便利确实非常舒适。
twl007
2021-11-30 18:24:50 +08:00
放进去没问题 只是 docker 一升级就意味着你要重启整个 mysql 的集群

我不太认为把这种基础组件跟 docker 捆绑到一起能带来什么提升
lizytalk
2021-11-30 18:30:56 +08:00
@qwe520liao 和主机上的其他程序做隔离呀.
lizytalk
2021-11-30 18:35:00 +08:00
数据库跑在 docker 里基本没什么性能损耗吧. 虽然 docker 的 overlay 文件系统会比较慢, 但是只要用挂载的外部文件系统就好了. 然后网络之类也可以直接用 host.
Feiex
2021-11-30 22:11:03 +08:00
京东内部的弹性数据库,就是容器化的 mysql ,大规模使用起来也没什么问题
hefish
2021-11-30 22:20:35 +08:00
说的好像你们的业务都很繁忙似的,哈哈。。。
k9982874
2021-12-02 17:29:17 +08:00
测试环境 mysql 跑在 docker 里面,两个 mysql 容器,设置主从。
物理机重启主从就会坏掉。

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

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

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

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

© 2021 V2EX