更多 选择语言

基于英特尔® 傲腾™ 持久内存100系列的MemKeyDB方案实践

摘要

  英特尔® 傲腾™ 持久内存是Intel在2019年发布的一款革命性的产品,英特尔® 傲腾™ 持久内存是一种全新的内存类型,其架构设计旨在从数据中心中汲取更多价值,重构数据中心内存/存储层次结构。不同于传统的DRAM,英特尔® 傲腾™ 持久内存集大容量、经济性和持久性于一身,能够支持数据中心多个应用场景。浪潮基于英特尔® 傲腾™ 持久内存做了大量的应用场景解决方案,覆盖大数据分析、数据库、云与虚拟化、分布式存储等应用场景。为了帮助用户通过更加灵活的架构来实现创新型的应用,助力企业实现性能突破,浪潮发布了基于英特尔® 傲腾™ 持久内存技术的MemKeyDB应用方案。

背景介绍

  Redis是一个高性能的键值分布式数据库,具有微秒级的数据存取速度,广泛应用于游戏、视频、新闻、导航等领域。在Kernel 5.1版本之后拥有支持Redis应用之一的KMEM DAX机制,这种机制把持久内存作为易失性内存使用,将持久内存接入内存管理系统,数据可以被分类存储进DRAM或者持久内存,避免DRAM耗尽,保持最佳性能运转状态。MemKeyDB基于Antirez维护的Redis核心代码,依赖互联网客户积极贡献代码,满足中国互联网客户快速迭代、解决业务中痛点的需求而产生的一个Redis分支版本,它实现了通过动态阈值算法来控制数据的分布。

  MemKeyDB的强劲性能很大程度上是由于其将所有数据都存储在内存中,MemKeyDB的可用内存受限于服务器对于内存容量的支持,这导致MemKeyDB出现部分数据不能存储在内存中,溢出到磁盘,MemKeyDB性能优势将无法充分发挥的情况。

  传统的解决方案是利用MemKeyDB的集群功能来解决内存不足的问题,但这样意味着企业要采购大量的内存,而且为了扩展内存,企业将不得不部署更多的服务器,这增加了企业的成本压力。

解决方案介绍

  英特尔® 傲腾™ 持久内存创新性解决方案提供了行业领先的高吞吐率、低延时、高服务质量和超高的耐用性,新增内存扩展专为打破服务器内存容量限制而优化。英特尔® 傲腾™ 持久内存提供接近内存的延迟,最大扩展系统内存至6T(不包括系统自身内存)。英特尔® 傲腾™ 持久内存可对应用进行加速,支持快速缓存和快速存储,提高每台服务器的可扩展性,并降低敏感性工作负载的交易成本。此外,英特尔® 傲腾™ 持久内存支持数据中心部署更大、更经济的数据集,在大型内存池中获得新的洞察。

  本方案使用傲腾持久内存来扩展内存容量,以解决服务器内存不足的问题。

  图1.png

  图1-1.png

  图1:PMem内存扩展方案与传统方案对比

  方案验证:性能不变,成本降低

  本次使用Benchmark测试了MemKeyDB在DRAM和PMEM平台下的性能,本次测试了PMem两种配置(2-2-1)和(1-1-1):

  配置一:

  

配置一

  配置二:

配置二

  测试结果

  图2

  图2:DRAM vs PMEM(2-2-1)测试结果对比

  图3

  图3:DRAM vs PMEM(1-1-1)测试结果对比

  测试结果说明,MemKeyDB开启同样实例数的场景下,PMEM在延迟和吞吐量方面与DRAM基本相当,可以达到DRAM的98%以上。

客户收益

  效果:更低的成本获得更多的内存

  在MemKeyDB应用下PMEM与DDR性能相当,英特尔傲腾持久内存扩展方案让MemKeyDBs使用更多的内存,并显著降低内存成本。

  基于英特尔® 傲腾™ 持久内存的MemKeyDB测试场景说明,英特尔® 傲腾™ 持久内存表现了良好的稳定性和性能,提供了高性价比的内存扩展方案。


线




×
联系我们
服务器、存储、网络产品购买热线
400-860-6708
ERP、管理软件购买热线
400-018-7700
云服务产品销售热线
400-607-6657