导语

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. 个人博客满血复活,求测试~~~
  2. PyTorch max()函数取最大值
  3. JQuery-学习笔记01【基础——JQuery基础】
  4. 只用一次+ 求三个整数之和
  5. Spring 2.0.1 与 BEA WebLogic Server 9.2 的集成
  6. UOJ#191. 【集训队互测2016】Unknown
  7. html5健康有机蔬菜果汁店网站模板
  8. Pandas知识点-比较操作
  9. 120 - 算法 - 枚举 周期性跳转 openjudge:4148生理周期
  10. PHP密码问题陈婷代码_登录中利用JS前端加密PHP后端解密保证数据非明文传输的安全方法...
  11. 威纶通HMI常见问题
  12. python3处理大文件
  13. 图文讲解 sqlserver 2000 评测版 数据库过期 的解决方法
  14. WEB应用程序--概述
  15. C#微信开发---用户关注微信号后公众号发送欢迎关注
  16. edge打开pdf不显示印章_教你PDF文档无法在edge中打开怎么解决
  17. 使用turtle绘制疫情加油图案
  18. 人脸识别常用数据集大全(12/20更新)
  19. 在不同的paste网站上搜索泄漏的凭据Scavenger
  20. Sql Server 的服务器类型

热门文章

  1. unfortunately activity has stopped
  2. JAVA 连接 Hbase1.2.3查询
  3. 经典的“外行管内行”案例
  4. .net通过S7.net读写西门子PLC中,字符串,bool,整数,小数及byte型
  5. 直观理解拉格朗日乘子法和Karush-Kuhn-Tucker(KKT)条件
  6. 信息学奥赛的“一二三四”
  7. C语言之素数判断及输出(1~100所有的素数)
  8. 使用无人机进行视频直播
  9. SwitchHosts:切换hosts的工具
  10. Android Studio Chipmunk 现已发布