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

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

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

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

7052 次点击
所在节点    Docker
33 条回复
liuliangyz
2021-11-30 09:09:53 +08:00
肯定有啊,数据库这东西能直接安装就直接安装,用什么 docker 呀
echo1937
2021-11-30 09:15:41 +08:00
一般开发测试环境用 docker ,生产很少主要是 IO 损耗。
ArJun
2021-11-30 09:16:20 +08:00
影响有限
Mindzy
2021-11-30 09:23:52 +08:00
非大型项目咋搞都行的
xiaoz
2021-11-30 09:24:46 +08:00
选择 host 网络,网络性能更好。
securityCoding
2021-11-30 09:30:38 +08:00
挂载目录做好备份
Quarter
2021-11-30 09:30:50 +08:00
之前我的调查结果是

1. 使用 Docker 安装 MySQL 会影响 MySQL 的读写速度,MySQL 作为一个依赖 IO 的数据库服务,在 Docker 中还是受到了影响到的

2. 不推荐使用 Docker 安装 MySQL ,在 Docker 中运行的 MySQL ,容易受到容器的影响,容器一旦崩溃出错,即使使用了持久化数据文件,也容易导致数据文件损坏,无法进行数据恢复

第一点我是可以理解的,第二点暂时还没遇到,但现在我已经不把 MySQL 放到 Docker 里面了
alanying
2021-11-30 09:31:41 +08:00
貌似阿里云的 POLARDB 这种大型生产商用数据库,给租户都是用容器隔离的。

数据库的性能瓶颈来自 IO ,二次虚拟化带来的 CPU 的性能影响其实对数据库影响不大
makelove
2021-11-30 09:36:17 +08:00
@Quarter 按理说 mysql 这种文件格式应该是设计成了不受崩溃影响的吧,否则断电写了一半怎么办
Veneris
2021-11-30 09:39:00 +08:00
对于大多数业务场景来说,业务有限,但仍不建议在 docker 中跑,docker 适合跑需要横向扩展得无状态的服务
Vegetable
2021-11-30 09:43:05 +08:00
都说的很有道理,但是 Linux 的 Docker 挂载目录有额外的 IO 开销吗?
killva4624
2021-11-30 09:45:17 +08:00
非生产环境随便弄,用商业云的话生产环境直接用 MYSQL 云实例吧。
BeautifulSoap
2021-11-30 09:55:52 +08:00
你们 ls 一个个说得好像言之凿凿确有其事一样的,但问题是 docker 容器的目录挂载没有性能损耗啊,不知道你们是根据什么得出的有性能损耗这个结论的

https://superuser.com/questions/1542169/does-a-docker-bind-mount-have-a-performance-penalty-on-linux

想了下,你们该不会是基于 mac 上的 docker 文件性能很拉跨得出的 linux 下 docker 也很拉跨的结论吧。。。
arrando
2021-11-30 10:09:43 +08:00
docker 容器的目录挂载没有性能损耗啊
liprais
2021-11-30 10:16:30 +08:00
大概损失 10%的 iops
tinkerer
2021-11-30 10:17:29 +08:00
justrand
2021-11-30 10:19:49 +08:00
我觉得你首先要考虑的是数据安全问题。丢失了可能就没有了
Muninn
2021-11-30 10:35:02 +08:00
之前有人研究过,有损耗但是损耗不大。但还有各种其他问题。开发测试随便,生产不建议。
nekoneko
2021-11-30 11:07:22 +08:00
linux 下无损耗
YUyu101
2021-11-30 11:10:00 +08:00
按理说除了网络之外应该没啥损耗的呀,但不见有很多人用

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

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

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

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

© 2021 V2EX