前言
针对鲲鹏/ARM平台于数据库方面的优化tips记录
一、鲲鹏处理器NUMA架构
要点:
1、NUMA架构将多个核结成一个节点(Node),命令numactl --show查看
2、node访问本地内存和跨node性能差异巨大,crdb两者之间差了6倍;通过绑核防止跨node访问
3、网卡中断和数据库分开绑,尽量不争用
二、网络绑核
1.原理
当网卡收到大量请求时,会产生大量的中断,通知内核有新的数据包,然后内核调用中断处理程序响应,把数据包从网卡拷贝到内存。当网卡只存在一个队列时,同一时间数据包的拷贝只能由某一个core处理,无法发挥多核优势,因此引入了网卡多队列机制,这样同一时间不同core可以分别从不同网卡队列中取数据包。
在网卡开启多队列时,操作系统通过Irqbalance服务来确定网卡队列中的网络数据包交由哪个CPU core处理,但是当处理中断的CPU core和网卡不在一个NUMA时,会触发跨NUMA访问内存。因此&