本文在云峦服务器操作系统KeyarchOS和云海云操作系统InCloud OS环境下,使用Intel QAT技术在数据压缩/解压缩、虚拟机迁移场景下进行了验证。
随着应用程序复杂性增长,系统对工作负载计算资源的数据加密、压缩需求增多。例如虚拟机迁移需要大量加密解密,hadoop海量数据处理需要大量压缩解压操作。这些操作耗费资源,导致时间花费长、甚至超时异常,影响用户体验。
为了解决上述问题,Intel推出了一种名为QAT(QuickAssist Technology)的硬件加速技术。该技术旨在提供高性能和高吞吐量的数据加解密、压缩和解压缩等功能,可以在不增加CPU负担的情况下,显著提升应用程序的性能。
由于QAT与GZIP的底层实现逻辑都是基于DEFLATE,为了验证QAT的加速效果,本文根据文件大小(小文件、中文件、大文件)设计三个场景对QAT(QATzip工具)与GZIP进行性能对比测试。
01小压缩文件场景
压缩文件大小为200M(包含众多小文件),使用QAT技术后压缩/解压缩消耗时间对比如下图:
测试结果:在压缩加速场景下time提升至少为30倍,解压缩加速场景下time提升均约10倍。
02中压缩文件场景
压缩文件大小为2G(包含众多小文件),使用QAT技术后压缩/解压缩消耗时间对比如下图:
测试结果:压缩加速场景下time提升至少为30倍(最高达到549倍),解压缩加速场景下time提升均约40倍。
03大压缩文件场景
压缩文件大小为20G(包含众多小文件),使用QAT技术后压缩/解压缩消耗时间对比如下图:
测试结果:压缩加速场景下time提升至少为29倍最高达到71倍;解压缩加速场景下time提升均约4.5倍。
三个测试场景中,压缩/解压缩在应用硬件加速时都能获得比较明显的性能提升。其中,解压缩在应用硬件加速时解压缩的波动较小,与文件组成关系不大;压缩在应用硬件加速时压缩的波动较大。
QAT技术在虚拟机迁移性能验证
迁移NFS共享的虚拟机过程中,虚机会继续对用户提供服务(脏页的数量会跟随着用户的使用而不断产生)。如果迁移的效率很低,将导致迁移的时间非常漫长,但是迁移是有时长限制的,迁移时如果不能在有限的时间内迁移完毕就会导致迁移失败。
为了尽量避免上述情况的发生,可以在被迁移对象侧发送内存之前使用QAT压缩,同时在迁移目的对象接收迁移数据之后使用QAT解压缩,充分利用QAT的硬件压缩/解压缩技术提高迁移效率。
基于上述QAT加速的应用,针对不同大小规格的(32G、48G、64G、96G、128G)虚机进行测试。
测试结果:基于QAT加速不同大小规格虚拟机性能提升比较明显,均约提升1倍左右。
基于文件压缩/解压缩应用场景和迁移场景中QAT硬件加速技术的验证可以看出,QAT硬件加速技术能够有效的将CPU的压缩/解压缩工作负载进行卸载,且应用QAT硬件加速技术后,性能得到有效提升。