课程名称:3.9.2 Operation System and Network Best Practices(操作系统和网络的最佳实践)
学习时长:20min
课程收获:
TiDB 的数据库集群在部署和运行时的操作系统及网络的最佳实践 。
课程内容:
1.操作系统最佳实践
- 目前支持的系统
TiDB 作为一款开源分布式 NewSQL 数据库,可以很好的部署和运行在 Intel 架构服务器环境、ARM 架构的服务器环境及主流虚拟化环境,并支持绝大多数的主流硬件网络。作为一款高性能数据库系统,TiDB 支持主流的 Linux 操作系统环境。
Linux 操作系统版本要求
Linux 操作系统平台 | 版本 |
---|---|
Red Hat Enterprise Linux | 7.3 及以上 |
CentOS | 7.3 及以上 |
Oracle Enterprise Linux | 7.3 及以上 |
Ubuntu LTS | 16.04 及以上 |
- 操作系统参数调优
- 在 TiKV 部署目标机器上添加数据盘 EXT4 文件系统挂载参数
- 检测及关闭系统 swap
- 检测及关闭目标部署机器的防火墙
- NUMA 绑核
为尽可能的避免跨 NUMA 访问内存,可以通过设置线程的 CPU 亲和性来实现 NUMA 绑核。 - 检测及安装 NTP 服务
- 检测和关闭透明大页
- 内存——虚拟内存参数
dirty_ratio 百分比值。当脏的 page cache 总量达到系统内存总量的这一百分比后,系统将开始使用 pdflush 操作将脏的 page cache 写入磁盘。默认值为 20%,通常不需调整。对于高性能 SSD,比如 NVMe 设备来说,降低其值有利于提高内存回收时的效率。
dirty_background_ratio 百分比值。当脏的 page cache 总量达到系统内存总量的这一百分比后,系统开始在后台将脏的 page cache 写入磁盘。默认值为 10%,通常不需调整。对于高性能 SSD,比如 NVMe 设备来说,设置较低的值有利于提高内存回收时的效率。 - 安装 numactl 工具
- I/O 调度器
I/O 调度程序确定 I/O 操作何时在存储设备上运行以及持续多长时间。也称为 I/O 升降机。对于 SSD 设备,宜设置为 noop。
echo noop > /sys/block/${SSD_DEV_NAME}/queue/scheduler - 处理器——动态节能技术
cpufreq 是一个动态调整 CPU 频率的模块,可支持五种模式。为保证服务性能应选用 performance 模式,将 CPU 频率固定工作在其支持的最高运行频率上,不进行动态调节,操作命令为cpupower frequency-set --governor performance
。
2.网络配置最佳实践
-
硬件建议
-
配置建议