Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波IO类型 配置 为了保证MySQL的高可用,需要在Docker容器分配时如何保障主从不在同一宿主机上。我们通过自研 Docker容器调度平台管理所有宿主机和容器,自定义Docker容器的分配算法。实现了MySQL的高密度,隔离 化,高可用化部署。 调度规则: 1.同一复制集群的实例在不同主机上。 2.优先分配CPU、内存、磁盘空间资源最空闲的主机。 3.根据IO需求调度容器创建在不同IO类型的主机。 cfs增强隔离性。 IO方面由于我们采用挂载宿主机本地的磁盘设备,还不能做到彻底隔离。所以对于高IO的实 例使用的是PCIE-SSD。磁盘空间方面,我们在申请时会预估出一个量,使用超过80%的时候 会结合本地磁盘空间评估是否有足够空间扩容,若宿主机剩余空间不足会启动迁移扩容流程 。 目前使用的host模式,无法隔离网络。但是考虑到10G接入,且单机密度可控的情况下,网 络消耗不会过载。另外目前 为了保证容器内的MySQL实例有更好的磁盘IO性能。采用了本地宿主机磁盘挂载到容器内的方式(每个 实例对应一个文件夹)。 这种方式的优势是IO性能最佳,随之而来的缺点是磁盘容量不好估算,有可能在使用了一段时间后出现磁 盘空间不足的问题,这个时候则会启动迁移扩容的流程。 已经在和提供高密度IO分布式存储解决方案厂商接触,计划测试平台接入分布式存储的方案。 磁盘挂载 3301 3302 3303 3304 33050 码力 | 32 页 | 7.11 MB | 1 年前3
谈谈MYSQL那点事每个线程的排序缓存大小,一般按照内存可 以设置为 2M 以上,推荐是 16M ,该选项对 排序 order by , group by 起作用 record_buffer 128K 64M 每个进行一个顺序扫描的线程为其扫描的每 张表分配这个大小的一个缓冲区,可以设置 为 2M 以上 table_cache 64 1024 为所有线程打开表的数量。增加该值能增加 mysqld 要求的文件描述符的数量。 MySQL 对每个唯一打开的表需要 少的字段就不用大字段。比如,主键,强烈建议用 int 整型 . 不用 bigint ,为什么 ? 省空间啊。空间是什么 ? 空间就是效率!按 4 个字节和按 32 个字节定位一条记 录,谁快谁慢太明显了。涉及几个表做 join 时, 效果 就更明显了。更小的字段类型占用的内存就更少,占用 的磁盘空间和磁盘 I/O 也会更少,而且还会占用更少的 带宽。因此 . 在日常选择字段时必须要遵守这一规则。0 码力 | 38 页 | 2.04 MB | 1 年前3
MySQL 企业版功能介绍(TDE) 通过加密数据库的物理文件来实现静止数据加密。数据在写 入存储之前实时自动加密,从存储读取时自动解密。因此,黑客和恶意用户无法从表空间文件、 数据库备份或磁盘中读取敏感数据。MySQL 企业级 TDE 使用双层加密密钥体系结构,包括主加 密密钥和表空间密钥,可轻松实现密钥管理和轮换。 MySQL 企业级加密 为在整个生命周期全程保护敏感数据,MySQL 企业级加密提供非对称加密(公钥加密)的行业0 码力 | 6 页 | 509.78 KB | 1 年前3
MySQL 8.0.17 调优指南(openEuler 20.09)8.0.17 调优指南(openEuler 20.09) 3 操作系统调优 2020-10-15 4 ----结束 3.2 网卡中断绑核 目的 手动绑定网卡中断,根据网卡所属CPU将其进行分配,从而优化系统网络性能。 方法 对于不同的硬件配置,用于绑中断的最佳CPU数目会有差异,比如对于华为鲲鹏920 4826处理器 + Huawei TM280 25G网卡(Taishan 2280的板载网卡)来说,最多可以0 码力 | 11 页 | 223.31 KB | 1 年前3
共 4 条
- 1













