§ 硬件、操作系统优化
本文主要介绍从硬件、操作系统等多层次优化参考。
§ 服务器配置及优化
如果是在物理机上运行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用户使用资源上限,避免报告文件数不够等限制错误。
- 其他内核参数优化。
详情参考文档:安装准备。
扫码关注微信公众号