本文面向单机单实例使用本地磁盘的 MySQL 服务器,列出需要优化的部分。内容仅供参考,一切以压力测试数据为准,切勿迷信参数配置。
MySQL 服务器选型与优化
使用本地磁盘的 MySQL 服务器硬件配置参考:
硬件
- BIOS
关闭 CPU 的节能模式,调整内存频率为最佳性能。
- CPU
选择高主频、高缓存处理器,部署单实例 MySQL 的话,核心数量不需太多。
- 硬盘
SSD:不差钱的选择 SSD 硬盘组建 RAID,IO 性能是极好的。
HDD:选择高转速,多硬盘组建 RAID10。根据存储不同类型文件(数据库和索引文件、事务日志文件、二进制文件、常规日志、临时文件和临时表),划分多个 RAID。
- RAID卡
选择带电池,并且缓存大的 RAID 卡。强制开启 WriteBack 策略。
- 内存
部署单实例 MySQL 的话,64GB 内存够用。
操作系统
- 文件系统
跟随操作系统使用的文件系统即可。CentOS6 默认使用 EXT4 文件系统,CentOS7 默认使用 XFS 文件系统。
挂载分区时,使用 noatime、nodiratime、nobarrier 即可。
- 磁盘队列调度策略
1 | noop anticipatory [deadline] cfq |
- SWAP
SWAP 规划分区大小与内存一致(64GB)。我们希望 MySQL 尽量不要使用 SWAP 空间,RAM 与 SWAP 交换尽量懒惰。
1 | /proc/sys/vm/swappiness =< 10 |
- 内存分配器
使用 jemalloc 管理内存可以提高 MySQL 性能,降低系统 CPU 和 RAM 资源的利用。
- 网络
优化 TCP 参数,更多参数视运行情况设置。
1 | net.ipv4.ip_local_port_range = 1024 65000 |
- NUMA 架构
1 | numa = off |
- 资源限制
1 | ulimit -SH 65535 |
MySQL 配置文件
欲知后事如何,且听下回分解。