Vastbase G100核心技术介绍之【NUMA架构性能优化技术】
导语
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
相关文章