英特尔??傲腾? 长期内存是Intel在2019年宣布的一款革命性的产品,英特尔??傲腾? 长期内存是一种全新的内存类型,其架构设计旨在从数据中心中罗致更多价值,重构数据中心内存/存储条理结构。差别于古板的DRAM,英特尔??傲腾? 长期内存集大容量、经济性和长期性于一身,能够支持数据中心多个应用场景。pg电子官网基于英特尔??傲腾? 长期内存做了大宗的应用场景解决计划,笼罩大数据剖析、数据库、云与虚拟化、漫衍式存储等应用场景。为了资助用户通过越发灵活的架构来实现立异型的应用,助力企业实现性能突破,pg电子官网宣布了基于英特尔??傲腾? 长期内存技术的Memcached应用计划。
Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件。它是一个内存key/value存储,用于存储来自数据库挪用、API挪用或页面渲染的任意小数据块(字符串,工具)。Memcached简单但功效强大。 其简单的设计可增进快速安排,易于开发,并解决了大型数据缓存面临的许多问题。 它的API适用于大大都流行语言。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多效劳中提高Web应用扩展性的重要因素。为了资助企业化解因为数据快速增长所泛起的 Memcached性能和容量瓶颈,pg电子官网进行了基于英特尔? 傲腾技术的 Memcached性能优化实践,通过将英特尔? 傲腾?长期内存作为Memcached缓存,相比于古板的 DRAM 内存计划,在包管了高性能的前提下,大幅增大了数据容量,实现了更高的本钱效益。
Memcached是一种依靠DRAM来满足其性能包管的key/value高速缓存效劳。虽然被广泛应用,可是性能很洪流平上受限于DRAM容量。 关于TB级数据集,数据不可全部被DRAM缓存而爆发数据驱逐,从而引起高I/O延迟,导致性能下降,同时由于缓存有限,Memcached会泛起性能不稳定的情况。
由于Memcached应对的是超大规模数据集的存储需求,因此数据吞吐性能的重要性不言而喻。要提升 Memcached数据吞吐性能,可以从优化内存计划、参数调优等多个方面进行。可是,要想在控制总体拥有本钱(TCO)的前提下,对Memcached集群内存进行最优计划并不是一件容易的事情。首先,Memcached集群需要的内存容量是海量且不绝扩展的,而每一个存储节点的内存插槽数量、支持内存容量等条件却极大限制了其扩展性,在内存容量增长到一定水平后就会泛起瓶颈。如果要进一步关于内存容量进行扩展,企业在古板上一般会接纳两种要领,第一种是使用大容量的单条内存,第二种要领是扩展 Memcached存储节点。
可是,这两种要领都不具备良好的本钱效益。关于前者来说,虽然许多 Memcached存储节点支持的单条内存容量理论上限是128GB,可是这种大容量的内存普遍处于验证阶段,可获得性缺乏,并且价格的提升远高于其容量的提升,会带来很高的本钱压力;关于后者来说,扩展 Memcached节点虽然能够提升内存池的容量,可是这些存储节点的采购、空间占用、运维、供电无疑也会显著抬升本钱。
因此,如何突破现有存储架构的限制,寻找一种立异的线上 Memcached集群内存扩容要领,在显著提升 Memcached性能的同时有效控制本钱,也就显得至关重要。
利用英特尔? 傲腾? 长期内存技术优化内存结构
为了解决此问题,pg电子官网工程师团队关于 Memcached内存结构进行了剖析。为了减轻内存资源的压力,长期性内存(PM)被称为存储类内存(SCM)在业界泛起,非易失性存储器�?楹统て谛源娲⑵饔型晌葜行呐趟愕南乱桓鲋匾挛�。 凭借高存储密度和类似DRAM的性能,全新的算法和系统架构是可能的。 这关于Memcached很是重要。它不但可以为 Memcached提供大容量缓存,挣脱单节点内存巨细的限制,同时还能有效降低本钱。
要将存储介质从内存更换为高性能固态盘,一个重要的条件就是固态盘在IOPS、时延方面与内存不可有太大的差别。在计划验证的历程中pg电子官网发明,英特尔? 傲腾? 长期内存位于内存和存储介质之间(如图1),能够填补两者间的性能和时延差别,对存储条理模型进行重新划分和界说。因此,pg电子官网决定使用英特尔? 傲腾? 长期内存作为 Memcached的缓存,并进行性能、本钱等方面的验证。

图1
英特尔??傲腾? 长期内存是一种全新的内存类型,差别于古板的DRAM,其集大容量、经济性和长期性于一身,读写带宽比NVME设备高数倍,并大幅降低延时问题。由于写入方法差别,英特尔??傲腾? 长期内存也比Flash NAND更耐用,并通过高达512GB的单�?槿萘�,实现了远超古板 DRAM 的系统内存容量。其从基础上改变了数据中心的弹性,将内存数据库重启时间从以前的几天、几小时缩短到现在的几分钟甚至几秒钟,并提供经济实惠的内存空间,将系统内存容量扩展到前所未有的水平。
英特尔??傲腾? 长期内存拥有两种特殊的运行模式——App Direct 模式和内存模式。具体来看,接纳App Direct 模式,经过专门调试的应用程序可以从产品固有的长期性中充分获取价值,同时获得更大的容量;在内存模式下,在受支持的操作系统或虚拟情况中运行的应用程序可将该产品用于易失性存储,在无需重写软件的情况下,有效利用高达512GB的内存�?榇吹母郊酉低橙萘�,在大型内存池中获得新的洞察。
在实际的计划安排中,pg电子官网使用了英特尔? 至强? 第二代可扩展处理器与英特尔??傲腾? 长期内存组成强强组合,取代Memcached中DRAM缓存(如图2),改善 Memcached集群内存计划,以支撑数据库、内存剖析和内容分发网络等要害数据事情负载,加速动态Web应用程序等。

图2
计划验证:英特尔? 傲腾? 长期内存性能优势显著
为了测试英特尔??傲腾? 长期内存作为Memcached缓存的性能,pg电子官网决定划分测试基于英特尔??傲腾? 长期内存/ DRAM 内存两种配置下的性能比照。
在实际测试中,pg电子官网将英特尔??傲腾? 长期内存设置为 App Direct运行模式,并依据以下硬件配置来搭建了测试计划(如表1)。在至关重要的存储方面,英特尔? 傲腾? 长期内存计划中每个数据节点使用192(12*16GB)的DRAM,并使用1.5TB(12*128GB)的英特尔? 傲腾? 长期内存作为Memcached的缓存设备;DRAM计划中使用768GB(24*32GB)内存作为Memcached的缓存设备。

表1
本次实验进行了多种读写比例测试,从测试结果可以看出(吞吐量结果如图3、平均延时结果如图4),英特尔? 傲腾? 长期内存计划可以容纳远超于DRAM计划的数据容量,同时性能体现相当精彩。在吞吐量方面两种计划性能相当,个体场景英特尔? 傲腾? 长期内存计划甚至优于DRAM计划。在平均延时方面,两种计划都能坚持在1ms之内,并且英特尔? 傲腾? 长期内存计划延时明显优于DRAM计划。

图3

图4
效果:大幅改善Memcached性能与本钱体现
从测试结果可以看出,通过将Memcached的缓存由古板的 DRAM 内存替换为英特尔??傲腾? 长期内存,可以在包管DRAM计划性能,甚至优于DRAM计划性能的情况下,成倍提升数据容量。之所以会有如此显著的提升效果,很洪流平上是因为英特尔??傲腾? 长期内存支持的总容量远高于DRAM内存,能够缓存Memcached所有的事情集,而没有缓存驱逐。尤为重要的是,英特尔??傲腾? 长期内存计划比DRAM计划数据容量可以增加接近1倍,换言之,如果企业在需要包管性能的情况下想增大数据容量,那么使用英特尔??傲腾? 长期内存将带来极大的本钱节约,降低TCO。