专栏名称: 企事录
企事录为您分析点评企业IT和互联网基础设施及架构方面值得关注的话题,把握行业热点,看清产业趋势。
目录
相关文章推荐
国家外汇管理局  ·  李强在福建调研时强调 ... ·  17 小时前  
国家外汇管理局  ·  习近平:解放思想改革创新奋发进取真抓实干 ... ·  昨天  
国家外汇管理局  ·  习近平在贵州考察时强调 ... ·  3 天前  
51好读  ›  专栏  ›  企事录

NVMe SSD如何用之应用端缓存加速

企事录  · 公众号  ·  · 2018-03-05 08:15

正文

上一篇文章中介绍了闪存在以vSAN为代表的软件定义存储(SDS)中的两种使用方式 ,即全闪和混闪两种配置,全闪配置拥有更好的性能和更低的延迟,混闪在满足所需性能的同时,拥有更好的成本。混闪方案需要软件提供分层(Tier)或缓存(Cache)的功能,正在流行的SDS/HCI产品都会提供。那么,出于各种原因而没有部署这类产品的用户该如何利用SSD来加速应用响应呢?本文将介绍iCAS软件加速方案,以及企事录实验室利用iCAS在加速数据库方面的测试分享。

iCAS,即Intel Cache Acceleration Software(英特尔缓存加速软件),是Intel公司推出的一款轻量级缓存加速软件,其安装在应用服务器之上,利用应用服务器上的SSD,对本地存储、外置SAN存储或者直连JBOD等进行加速。可运行于Windows和Linux两大类别的操作系统平台,在缓存加速方面支持包括Write-Through和Write-Back在内共4种模式。

在对这4种模式进行简单介绍之前, 先给出名词解释:

  • Cache 设备——在这里指相对性能更高、容量更小、价格更高的设备。

  • 核心设备(core device)——在这里指相对性能更低、容量更大、价格更低的设备——用于数据的持久化存储。

Cache设备和核心设备是相对的概念。譬如,以SATA SSD为cache设备, 则机械硬盘可以是核心设备;如果NVMe SSD为cache设备, 则SATA SSD或者机械硬盘都可以是核心设备;如果以Optane SSD为cache 设备, 则NAND的NVMe SSD、SATA SSD、机械硬盘都可以是核心设备。

CAS软件可以工作在如下模式:

  1. Write-through模式。在该模式中,iCAS在往cache设备写数据的同时也向core设备同步写。该模式保障cache里的数据和core里的数据100%同步的,对读密集型操作更有效。Core里的数据对共用的其他服务器都有效。

  2. Write-back模式。iCAS先往cache里写数据。一旦写入cache 成功, 便对应用返回确认写成功。这个确认发生在数据被写入core设备之前。 然后,周期性地,cache里的数据会在既定的机会里写入core设备。该模式对读密集型操作和写密集型操作都同时提升。

  3. Write-around模式。只有当cache里已经有了数据块(block),iCAS才会将数据同时写入cache和core设备。和write-through类似,cache里的数据100%同步于core设备。然而, write-around进一步优化了cache, 避免“cache污染”。比如,应用要写入的数据在后续确定不会被经常重读,数据便不用写入cache而是仅仅直接写入core设备。这个模式对读密集型操作更有效。

  4. Pass-through模式。这个模式下,iCAS略过cache设备。当用户在真正启用缓存设备前,可以利用这个模式把所有准备被缓存的core device关联起来。一旦这些core设备被关联好以后, 用户可以动态地切换到他们所要的cache模式。

Intel缓存加速软件提供的两种加速模式:Write-through和Write-back,均可对本地存储、SAN存储和直连存储进行缓存加速

从上图可以看出,iCAS对数据读写操作都有加速作用:读缓存(Read Cache)和写缓冲(Write Buffer)。顾名思义,Write-through和Write-back两种模式的区别体现在写入操作上,读缓存方面工作原理没有区别:在接收到应用的读请求后,先在SSD缓存中查找,如果缓存命中,即读取iCAS中的缓存数据;如果缓存未命中,则从后端读取数据返回给应用,并将数据缓存到SSD中。

在写缓冲中区别就体现出来了:如果使用Write-through模式,iCAS会将应用数据同时写入到SSD缓存和后端数据存储之后,再返回写操作成功。这种模式实际并不能加速写操作,因为其写延迟取决于最慢的返回操作(即后端存储);Write-back模式则能够加速写操作,如同前者一样,数据会同时写入到SSD缓存和HDD磁盘存储中,但SSD缓存写完即返回操作成功,磁盘存储将在后台继续写入,直到完毕。

iCAS直接安装在应用服务器上,针对存储卷(Volume)进行加速,所以可以在多种应用场景下使用,比如以数据库为代表的块存储场景,文件存储场景,以及虚拟化环境。iCAS在虚拟化场景下的使用方式跟物理机上的使用方式没有不同,其并非安装在Hypervisor层,而是应用虚拟机之上,所以能够针对应用数据进行加速。

目前iCAS支持Windows平台和Linux平台,包括主流使用的Red Hat Enterprise Linux(RHEL)、CentOS、SUSE Linux Enterprise Server(SLES)以及Ubuntu Server等等,可以应用在绝大多数的企业环境之中。同时其安装也很简单,稍有Linux基础的用户通过一两个命令行即可安装使用。

企事录实验室验证测试

在iCAS缓存加速软件的验证测试中,企事录实验室使用与之前评估Intel DC P4500/4600SSD的同台服务器(型号为Intel R2208WFTZSX),配备双路Xeon Gold 6146处理器和256GB内存。将原来的DC P4500/4600替换为希捷(Seagate)公司的Exos 7E8系列大容量硬盘驱动器(5400 RPM,4TB容量),并加装SAS/SATA RAID卡将4片4TB磁盘组建RAID 5;分别保留一块DC P4600和DC S4500作为iCAS缓存:

企事录实验室用于评估iCAS缓存加速性能的测试方案,分别使用Intel DC P4600和Intel DC S4500作为缓存,希捷磁盘作为数据实际存储。在Oracle数据库环境下,评估其在不同用户数并发下的性能表现







请到「今天看啥」查看全文