集中式存储系统性能优化研究与分析论文
2026-01-05 15:03:32 来源: 作者:xuling
摘要:现代信息技术快速发展,大数据在各个行业得到了广泛应用,数据量爆炸式增长,对数据存储提出了更高的要求。
摘要:现代信息技术快速发展,大数据在各个行业得到了广泛应用,数据量爆炸式增长,对数据存储提出了更高的要求。面对金融、AI、科教、医疗、政府、能源等行业业务系统的海量数据,为满足长期保存、数据安全和隐私保护等复杂且多变的需求,文章深入分析了集中式系统存储性能的技术策略,针对IOPS、带宽、时延三项基础性能指标,以IOPS为主推进指标,从硬件、BIOS、操作系统、存储软件栈领域推进存储性能提升,以满足各个行业对数据存储的需求。
关键词:性能优化;集中式存储系统性能
0引言
当计算与网络进入超高速时代,存储性能差距成为阻碍技术进化的最大短板。通过硬件革新(全闪存/NVMe)、架构升级(存算分离)、软件优化(编译优化、系统优化、算法优化)的三重突破,存储系统将从“数据仓库”进化为“AI燃料加速器”。
本文结合具体性能优化项目实践,谈谈软件优化的具体方法。
1集中式存储系统性能介绍
1.1集中式存储系统性能的指标
1.1.1传输带宽与IOPS
在集中式存储系统中,传输带宽和IOPS是评估性能的关键指标。传输带宽的定义为单位时间内系统能传输的最大数据量,通常以Mbps或Gbps为单位。较高的带宽允许数据在集中式存储和用户之间更快速地传输,从而加快数据访问和处理速度。IOPS是指存储系统单位时间内处理的IO个数,衡量的是存储系统的并发处理能力,数据库类的应用依赖IOPS能力,单位通常为IO数/秒。
1.1.2读写响应时间
读写响应时间指的是系统从接收到数据读写请求到完成这一请求的时间间隔,是评价集中式存储性能的重要指标。快速的读写响应对于提升用户体验至关重要,尤其是在对高速数据交换要求较高的应用场景,如在线交易平台和实时数据分析[1]。
1.2优化集中式存储系统性能的主要技术
本部分优化集中式存储系统性能主要有两条技术路线,分别是CPU执行角度的技术路线、存储系统业务逻辑角度的技术路线,技术内容如下。
1.2.1 CPU执行角度的技术路线
计算机的性能本质上是指完成一项任务的时间,可以简单表示为CPU时间程序的执行指令数CPI时钟周期。
(1)instruction方向。精简流程,减少一个IO所需要执行的指令数,如通过精简Raid写流程,提升存储IOPS性能15w;通过精简缓存双层结构提升IOPS性能20w;
(2)CPI(Cycles per instruction)方向。即CPU执行一条指令需要的Cycle数减少,通过热点分析工具分析出最耗时的指令,通过预读、减少锁冲突等手段加以优化。如通过指令预取、数据预读、消除伪共享等提升IOPS性能13w。
(3)Cycle方向。即单位时间内CPU节拍更多,可选用更高主频CPU,或更先进架构的CPU。
1.2.2存储系统业务逻辑角度的技术路线
硬件拓扑分析,分析确定硬件拓扑、资源分配(UPI/PCIE/IMC)在存储产品的最优适配。分析验证硬件加速引擎在存储系统的适用情况。
(1)BIOS(Basic Input Output System)优化。分析CPU、内存、Cache、功耗参数等性能配置项最优化匹配,通过对Intel BIOS开发手册、开发虚拟地址、物理地址、Channel映射工具的分析,调优CPU prefetch、内存等7个参数,提升IOPS性能4w。
(2)OS优化项。即操作系统线程并发与内核调度。
1)多线程并发等待分析。多线程Wait时间分析、IO等待分析。2)IO瓶颈分析。MMIO(Memory-mapped I/O,即内存映射I/O)、UPI、PCIE等限制。3)内核调度分析。上下文切换、抢占统计数据分析。4)存储系统基础OS与标准操作系统(RedHat7.4)差异分析。分析基础文件系统、内核版本、配置参数、后台服务,通过调度分析,剖析系统进度CPU使用情况,确认有无非必要的进程切换。
(3)软件栈自身性能优化。1)通过Vtune(英特尔Vtune性能分析器)进行代码逻辑热点分析,排查耗时过长的单次任务。2)统计分析缓存未命中或不正确的分支预测,提升Cache、分支预测性能。3)内存访问分析。分析内存带宽、跨Socket带宽、分析代码段、数据段引入的访存带宽,联合优化NUMA访存性能。4)研究存储缓存模块智能路径功能,实现在随机场景下选择较优IO路径,提升性能。5)针对调度模块串行任务进行重新设计,将串行任务对性能影响降到最低[2]。
(4)主机系统优化项。1)multipath策略研究与存储系统最优适配。2)主机Block层多队列IO调度机制。3)主机驱动层优化。4)系统后台服务影响分析与最优配置。
1.3优化集中式存储系统性能的主要工具和方法
1.3.1 Perfc2c性能功能分析工具
伪共享是一个常见的性能问题。伪共享指的是多个线程或进程在同一缓存行上进行读写操作,导致缓存行无效,从而降低性能。
通过分析Perf c2c测试结果中的缓存未命中次数、地址信息和缓存行状态等,可以判断是否存在伪共享问题,并采取相应的优化措施提高性能。
1.3.2 Vtune系统分析工具
强大的软件栈分析工具可用于串行和多线程应用程序的性能分析。它提供了一个集成的性能分析和调优环境,及多种场景内存、IO分析模型,确定可用硬件资源对应用程序的潜在影响。
利用Vtune性能工具分析应用程序和/或整个系统中最耗时(最热)的指令或函效调用、应用程序在I/O操作上花费时间多少、代码中与硬件相关的问题(如效据共享、缓存丢失、分支错误预测)等,找出I/O软件栈的瓶颈,并以此为指导方针进行代码分析优化。
1.3.3软件栈逐层环回瓶颈分析方法
通过在软件栈上逐层增加环回开关的方式,逐层定位性能瓶颈,快速缩小范围。
相较于top命令统计进程使用的CPU时间片,通过自研软件工具统计任务实际执行时间的占比(统计时间),计算CPU使用率,能更精确地反映IO软件栈上各任务执行时CPU资源的消耗比例,更加便捷地分析CPU运行均衡情况。
2突破的关键技术和预期解决
通过优化BIOS配置及相关参数调优,实测双控IOPS性能合计提升IOPS 8w。
关闭硬件预取、降低UPI占用。通过PCM工具分析CPU间UPI通道占用情况,并实测性能数据,关闭硬件预取、临近缓存预取,UPI通道占用降低7G,性能提升4w。
配置内存编址,增加内存通道并发。通过分析Intel BIOS开发手册、开发虚拟地址、物理地址、Channel映射工具,分析存储系统使用内存在Channel分布情况,完成CPU内存相关NUMA/Interleave等7个参数调优和性能实测,IOPS性能提升4w。
系统性的度量从单路扩展至多路中的存储性能差异,定位扩展至双路时耗时异常增加的热点代码及相关数据结构,通过消除伪共享变量、优化各模块CPU分配算法,IOPS性能提升16w,通过横向扩核并保证CPU使用均衡。
针对资源扩展过程影响性能的关键代码和数据结构进行代码优化或局部重构,通过RAID资源解耦提高并行度,IOPS性能提升20w。多线程同步机制诊断(互斥锁、共享内存),通过优化锁实现提升锁自身效率,IOPS性能提升4w;通过拆分RAID模块rk unreserve锁、plmm资源锁等,IOPS性能提升10w。
最终实现存储软件栈在双路CPU下均衡运行,实测3倍性能提升[3]。
3主要创新点
本文集成式存储系统性能优化策略的技术创新主要有以下几点。
(1)分段环回。通过在软件栈上逐层增加环回开关的方式,逐层定位性能瓶颈,快速缩小范围,再使用第2节中的工具精确定位。
(2)Perf c2c在国产CPU上的应用。基于某国产CPU架构与AMD Zen1的相似性,分析AMD family 17手册,确认手册中描述的CPU支持IBS(基于指令的采样)类寄存器,能够采集相关事件。首先,发布支持IBS的BIOS版本,并配置相关设置,以启用CPU的IBS功能;其次,适配Linux内核,实现基于IBS的指令执行时间等事件采集;最后,修改Perf工具,增加了对某国产CPU标识符(CPUID)的支持,开发出了适用于某国产CPU的性能分析工具,突破了原有局限,真正实现了国产化CPU性能分析工具的从无到有,填补了该领域的空白。
优化RAID IO分解流程冗长、前台初始化空操作、需要多次查询元数据过程耗时较长、多次进行重复计算的策略:初始化完成后去除前台初始化操作,缩短RAID IO分解流程;简化元数据查询,在raid状态正常时、写前重构时,降低RAID元数据查询频率。优化后流程如图1所示。

4结语
文章通过硬件、BIOS、操作系统、存储软件栈、存储主机五个方向的优化,实现了存储软件栈在双路CPU下的均衡运行,并达成基础性能,将性能提升至项目开始前的4倍。存储产品性能的提升将带给用户更快速的操作体验、更低的业务延迟,增强用户对国产存储产品的信心,为企业带来更大的经济效益。
参考文献
[1]钱迎进,金士尧,肖依.Lustre文件系统I/O锁的应用与优化[J].计算机工程与应用,2011,47(3):1-5.
[2]廖湘科,肖侬.新型高性能计算系统与技术[J].中国科学:信息科学,2016(9):1175-1210.
[3]王兴.重复数据删除系统的性能优化研究[D].武汉:华中科技大学,2013.