§ 硬件、操作系统优化
本文主要介绍从硬件、操作系统等多层次优化参考。
§ 服务器配置及优化
如果是在物理机上运行 GreatSQL 数据库,建议至少采用如下配置等级:
| 配置 | 要求 |
|---|---|
| CPU | 8 cores+ |
| 内存 | 8 GB+ |
| 磁盘 | 100 GB+ |
| 网络 | 千兆网络 |
如果想要支撑更高数据库服务能力,应当进一步提升服务器配置,包括且不仅限以下几点:
- 配置更高性能的 CPU,不仅是核数越多越好,处理主频也是越高越好。
- 配置更大物理内存。
- 配置更高物理 IOPS 性能的设备,例如用 NVMe SSD。使用更好的物理 I/O 设备,相比提升物理内存综合成本通常更低。
- 如果是 X86 架构的 CPU,通常建议关闭 NUMA;如果是 ARM 架构,则可以开启 NUMA。MySQL/GreatSQL 数据库是单进程多线程模式,如果是运行单实例的场景下,没必要开启 NUMA;如果是运行多实例,则可以开启 NUMA 以提升性能。
- 调整 CPU 设置,修改为最大性能模式。
- 如果计划构建 MGR 集群,则通常要使用不低于千兆网络的条件,如果有条件甚至可以使用万兆网络,或者 InfiniBand 网络。
详情参考文档:安装准备。
§ 操作系统层优化
- 采用 XFS 文件系统,以保证在高 I/O 负载情况下 IOPS 的性能及稳定性。
- 修改数据库分区的 I/O Scheduler,设置为 noop / deadline。
- 关闭 SWAP。运行数据库服务建议配置足够的物理内存。如果内存不足,不建议使用 SWAP 作为缓冲,因为这会降低性能。建议永久关闭系统 SWAP。
- 关闭透明大页(Transparent Huge Pages / THP)。OLTP 型数据库内存访问模式通常是稀疏的而非连续的。当高阶内存碎片化比较严重时,分配 THP 页面会出现较高的延迟,反而影响性能。
- 调整 MySQL 用户使用资源上限,避免报告文件数不够等限制错误。
- 其他内核参数优化。
详情参考文档:安装准备。
扫码关注微信公众号
