§ 硬件、操作系统优化


本文主要介绍从硬件、操作系统等多层次优化参考。

§ 服务器配置及优化

如果是在物理机上运行 GreatSQL 数据库,建议至少采用如下配置等级:

配置 要求
CPU 8 cores+
内存 8 GB+
磁盘 100 GB+
网络 千兆网络

如果想要支撑更高数据库服务能力,应当进一步提升服务器配置,包括且不仅限以下几点:

  1. 配置更高性能的 CPU,不仅是核数越多越好,处理主频也是越高越好。
  2. 配置更大物理内存。
  3. 配置更高物理 IOPS 性能的设备,例如用 NVMe SSD。使用更好的物理 I/O 设备,相比提升物理内存综合成本通常更低。
  4. 如果是 X86 架构的 CPU,通常建议关闭 NUMA;如果是 ARM 架构,则可以开启 NUMA。MySQL/GreatSQL 数据库是单进程多线程模式,如果是运行单实例的场景下,没必要开启 NUMA;如果是运行多实例,则可以开启 NUMA 以提升性能。
  5. 调整 CPU 设置,修改为最大性能模式。
  6. 如果计划构建 MGR 集群,则通常要使用不低于千兆网络的条件,如果有条件甚至可以使用万兆网络,或者 InfiniBand 网络。

详情参考文档:安装准备

§ 操作系统层优化

  1. 采用 XFS 文件系统,以保证在高 I/O 负载情况下 IOPS 的性能及稳定性。
  2. 修改数据库分区的 I/O Scheduler,设置为 noop / deadline。
  3. 关闭 SWAP。运行数据库服务建议配置足够的物理内存。如果内存不足,不建议使用 SWAP 作为缓冲,因为这会降低性能。建议永久关闭系统 SWAP。
  4. 关闭透明大页(Transparent Huge Pages / THP)。OLTP 型数据库内存访问模式通常是稀疏的而非连续的。当高阶内存碎片化比较严重时,分配 THP 页面会出现较高的延迟,反而影响性能。
  5. 调整 MySQL 用户使用资源上限,避免报告文件数不够等限制错误。
  6. 其他内核参数优化。

详情参考文档:安装准备

扫码关注微信公众号

greatsql-wx