Vastbase G100核心技术介绍之【NUMA架构性能优化技术】

2022-02-18 00:00:00 架构 优化 线程 内存 资源

NUMA架构优化技术是针对程序在NUMA架构CPU上运行出现资源消耗不均,程序执行效率低等问题进行优化的技术。这种优化技术在现在主流的NUMA架构多核服务器中,可以有效降低访问时延,提升高并发场景下的业务处理能力。


NUMA架构优化前:


延迟高,性能低


NUMA架构,在未优化的情况下,NUMA的内存分配策略对于进程或线程并不公平,这会导致以下问题:


Ø 高并发时进程或线程频繁进行跨Node调度,上下文切换代价高,效率低


Ø 某个Node的资源耗尽,而其他Node的内存资源却很空闲


Ø Node之间调用资源的开销较大,跨Node之间访问资源延迟高


Ø Node之间的总线带宽有限,大量的跨Node访问会造成总线阻塞,严重影响性能


NUMA架构访问时延图


NUMA架构优化后:


延迟低,性能高


为了解决NUMA架构引起的资源消耗不均及跨Node之间访问资源延迟大的问题,面向NUMA架构进行优化,其基本原理是:


Ø 设置执行线程与Node/核心的亲和度,将线程绑定在指定CPU核心运行,避免跨Node调度,降低CPU上下文切换代价


Ø 工作线程均匀分布在所有的Node节点中执行,线程通过Node分配本地内存,避免某个Node节点内存耗尽而其他Node节点内存很空闲的情况,从而充分使用CPU、内存等资源,进而提升数据库处理效率


Ø 工作线程均匀分布在所有的Node节点中执行,并限制每个node的线程个数,可以减少CPU资源争用,降低线程调度次数,减少处理器做线程上下文切换无用功的次数


Ø 线程与核心绑定,并尽可能使用所在Node的内存,从而获得低的时延、小的内部互联开销,进而提升数据库处理能力


NUMA架构优化前后对比


硬件配置:

CPU:kunpeng 920  64核 x 2

内存:32GB x 24

硬盘:3.2TB SSD x 4

网卡:25GE光纤网卡


服务器NUMA架构信息


性能测试数据

通过测试结果,可以看到:

Ø 优化前随着客户端并发数增加,线程调度频繁带来的sys占用CPU迅速增加,user可用的CPU资源降低,性能不断下降。

Ø 优化后客户端并发数增加了,线程调度的sys占用CPU比较稳定,数据库系统的user使用CPU可以保持在较高水平,数据库保持高性能运行。

原文链接:https://mp.weixin.qq.com/s/sbeaohbFQrH3eeUdOEeaLA

相关文章