导语

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可以保持在较高水平,数据库保持高性能运行。

海量智库第4期|Vastbase G100核心技术介绍之【NUMA架构性能优化技术】相关推荐

  1. 海量智库第5期|Vastbase G100核心技术介绍之「SQL by pass技术」

    导语 SQL by pass的主要作用是针对某些简单的SQL生成的查询计划.如果查询计划是一个符合特定条件的查询计划,那么可以跳过原有迭代器模型的执行步骤,直接执行查询计划,将原有查询计划的初始化.执 ...

  2. 海量智库第3期|Vastbase G100核心技术介绍之【CSN事务快照】

    导语: 为了保证数据库事务的一致性和隔离性,Vastbase G100数据库引入了快照隔离技术,即通过事务快照实现事务间的隔离性和一致性.事务快照是一个数据集,存储关于单个事务在某个时间点上事务的活跃 ...

  3. 跨境茶话会8月期丨性能优化的艺术

    大师兄说 众所周知,对于现在国内的互联网环境,不管什么样的系统,一旦等用户的访问量上去之后,我们每增加一个功能实际上都是要考虑它的吞吐量和延迟,在加工上都是要做一个缜密的思考的.所以我相信在这方面许多 ...

  4. 大型系统架构设计-阿里淘宝天猫双十一数据库核心技术介绍

    目录 零.双十一是什么? 一.2013 双十一数据库指导思想 1.知己知彼,百战不殆 (1)如何做到知己 (2)如何做到知彼 2.平时多流汗,战时少流血 (1)真实环境压测之缓存穿透 (2)MetaQ ...

  5. 海量数据处理_国家重点研发计划“面向异构体系结构的高性能分布式数据处理技术与系统”简介...

    技术发展现状 近年来,数据规模快速增长,使得Hadoop.Spark等大数据批处理系统在现实中得到了广泛应用.同时,应用对数据处理时效性需求不断加强,促使诸如Flink的大数据流式处理系统应运而生.现 ...

  6. 海量数据库及分区4——《12年资深DBA教你Oracle开发与优化——性能优化部分》...

    目录: Oracle数据完整性和锁机制  索引及优化之表分析  表分析.约束及表间关系  Oracle体系结构1 Oracle体系结构2  海量数据库及分区1  海量数据库及分区2  海量数据库及分区 ...

  7. 《大数据》2015年第3期“研究”——大数据流式计算:应用特征和技术挑战

    大数据流式计算:应用特征和技术挑战 孙大为 (中国地质大学信息工程学院 北京 100083) 摘要:在大数据时代,数据的时效性日益突出,数据的流式特征更加明显,越来越多的应用场景需要部署在流式计算平台 ...

  8. php百度优化,百度技术沙龙第 24 期 PHP 性能优化实践

    本文作者:HelloDeveloper 在 3 月 10 日由 @百度主办.@InfoQ 策划组织和实施的第 24 期百度技术沙龙活动上,来自百度 PHP 高级顾问,PHP 语言开发组成员惠新宸(@l ...

  9. 百度地图加载海量标注性能优化策略

    在上一篇博客中关于Vue表单验证的话题里,我提到了这段时间在做的城市配载功能,这个功能主要着眼于,如何为客户提供一条路线最优.时效最短.装载率最高的路线.事实上,这是目前物流运输行业智能化.专业化的一 ...

最新文章

  1. iOS 10 个实用小技巧(总有你不知道的和你会用到的)
  2. Windows Server 2008组策略安全实践手册
  3. linux sh/bash 编程常用
  4. 前景检测算法_1(codebook和平均背景法)
  5. Ajax简单异步上传图片并回显
  6. 窗口的z-order是什么?PyQt5
  7. 又一波你可能不知道的 Linux 命令行网络监控工具
  8. OpenCV cvLine
  9. string类的erase函数属于stl吗_探索STL容器:vector
  10. Spring Boot笔记-对dto数据传输对象及物联网公司主创建主键的认识
  11. 【flink】flink 复杂事件处理 CEP
  12. python用户取消了安装_python的安装
  13. MySQL服务安全加固及防护
  14. phonegap plugin.xml 示例
  15. openGL学习笔记七: glad库及使用
  16. 农业农村部:发现生猪、野猪异常死亡应立即报告
  17. 【C#】身份证识别(二):提取目标区域图像
  18. win10无限蓝屏_win10蓝屏died怎么办_win10无限process died解决方法
  19. 开发脚手架与自动化构建
  20. C++第三方日志库Pantheios

热门文章

  1. 2022年Github学生包搞起 || copilot、jetbrains一起搞
  2. 大华硬盘录像机通过大华SDK接入EasyCVR,为何出现无法在线的情况?
  3. Java 中Map四种取值方式
  4. 在网站中插入 英文地图非谷歌
  5. 微服务-熔断器Hystrix
  6. 【解决方案】国标GB28181协议摄像头直播EasyGBS视频平台联合城管执法局搭建4G移动视频监控系统方案
  7. Python爬虫实战一之爬取糗事百科段子
  8. 使用无人机进行视频直播
  9. 【补充】膜拜大神——吴恩达(转自Wikipedia)
  10. 怎样选择步进电机和驱动器,计算方式