性能一直是存储的核心话题,如果说可靠性是业务数据的生命线,那么性能就是业务加速发展的推进器。
存储系统的性能来自于软件和硬件的配合,硬件体系包括CPU、内存、网络、硬盘,组网方式,软件架构等等,所有这些软硬件协同作用的合力就表现为存储系统对外提供的性能吞吐能力。
相比于传统存储,分布式存储的性能问题尤为棘手,涉及到多个节点之间的数据转发,IO路径更长,因此对性能的影响点更多,更复杂。纯软件由于其硬件的多样性,往往出现性能体验的波动和不稳定,在某些配置上得到的性能数据,在最终用户得到的硬件配置上却不一定能达到。
面向场景 补齐影响性能的每块短板
新华三集团存储产品线X10000产品首席架构师陈钊介绍:“存储系统的性能问题是个典型的木桶效应,再解决当前短板之前,很难准确预知下一个短板;或者是否存在比当前发现的短板更短的短板。存储性能优化团队通过在整个存储IO路径协议栈上进行细致的打点分析,逐个排查性能瓶颈点,不断突破性能极限。”
“同时,我们深耕业务场景,比如广电、运营商、HPC等,专项进行性能优化,从硬件驱动到协议栈,一层一层分析系统瓶颈,逐项优化。H3C UniStor X10000存储一体机从用户场景出发,通过软硬件的联合调优,基于业务场景给出最佳的硬件典配,交付用户有保障的存储性能。”
除了针对各项场景应用进行定向优化精细开发,研发团队还介绍了X10000性能优化过程中的一个小小的难点……
不走回头路 用聪明的方法解决问题
原来,随着新的特性功能不断开发,加载了新功能后的产品,很有可能出现性能的倒退。那么,要怎样解决和避免这样的问题呢?
负责自动化性能看护系统的研发人员冯翔宇介绍,中央电视台和中科大洋联合poc测试是一次难忘的经历,当时,X10000存储系统在用户的测试环境中出现了性能回退。为了排查确切的引入问题源,测试团队重新对每一个列入问题单的性能影响因素进行了测试评估,整个周期持续了一月有余。
同时,针对新版本性能回退的主要矛盾,测试团队决定建立一套自动化性能系统。通过自动化CI集成,在性能倒退的最初就能识别并解决;当性能优化成果合入版本后,又刷新性能基线。从而使存储产品的性能能够不断提升。
冯翔宇介绍,性能自动化系统建立初期,测试团队查找和尝试了大量的开源工具和资料,决定了基于一个开源的基础框架。真正开展后却发现,框架虽然体系清晰,但是原生系统却是基于块业务实现的,且该系统实际上仅仅是一个预研阶段的产物,实际操作的资料基本没有。在初次部署时,便有层层报错。
测试团队花费了大量的时间梳理系统框架、终于建立了文件系统测试系统框架。然而,进行初步测试的过程中,却发现存储关注的性能数据分析和统计功能并不适配。
众所周知,存储产品的性能测试与硬件环境强相关,在保证性能测试数据能及时、有效提供的同时,还需要保证周边的测试环境、可供分析的perf数据准确抓取,这对于长期的性能稳定性至关重要。
为此,测试与开发团队内部专家反复沟通性能perf数据的抓取,建立可以反复、长期使用的perf数据库,确定抓取、命名、分类等准则;针对代码的简洁准确性、接口可复用继承性、异常流程处理等,测试人员反复考虑和优化已经调试走通的代码,对加强异常报错代码的提示信息也格外注重,快速解决问题。
团队的努力没有白费,经过反复的测验和不断集思广益优化,当前自动化测试系统具备一键完成自动安装、多个测试任务一键下发、性能数据准确收集等功能,让运维人员从性能测试环境确认、脚本确认、数据人力收集等诸多重复操作中解放,节约一半以上的人力投入,真正实现版本性能看护,为用户的业务开展提供最强加速度。
后记:披荆斩棘 初露锋芒
排查完性能问题之后的X10000存储系统,到客户的应用测试环境中,也表现出了优异的性能,为X10000在广电行业的破冰与开拓奠定了坚实的基础。
上文我们记载的是X10000性能研发过程中的一个小小的插曲,正如前文提到的,存储系统的性能涉及到无数的IO环节,只有我们扫除了每个IO环节上的瓶颈,才能造就存储系统优异稳定的性能,在这个不断排查瓶颈的过程中,研发中心上演了一幕幕感人的小故事,奠定了X10000存储系统的性能基础,铺就了X10000在多个行业开疆扩土的发展前景!
责任编辑:pj
-
cpu
+关注
关注
68文章
10860浏览量
211726 -
软件
+关注
关注
69文章
4939浏览量
87462 -
存储系统
+关注
关注
2文章
409浏览量
40858
发布评论请先 登录
相关推荐
评论