性能测试国产化替代解决方案
性能测试是指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。性能测试包含了负载测试、压力测试、配置测试和可靠性测试,其伴随着系统开发、重构、上线到优化的生命周期,因此有效的性能测试对系统的稳定性具有重要的指导意义,是系统生命周期中不可或缺的一部分。
- 1 国外商业产品
-
国外软件不符合信创要求,不能自主可控,不适配国产操作系统,价格昂贵,投入产出比很低。除了首次购买,每年还需要支付不菲的维保费用,造成后续财务压力。
- 2 开源产品
-
压测结果不准确。精准模拟用户压力有很大的误差,尤其是对浏览器的并发模拟和实际用户操作有较大的不同,导致结果不准确。 压测能力低。内存和CPU占用很大,单机节点无法产生较大的虚拟用户,经常出现加压错误。同时需要纯手工配置加压节点,操作维护复杂,很难支持超大规模并发。
- 3 自研压测产品
-
自研工具通常只能对特定的系统上发起压测。一般作为开发工具使用,需要高度定制开发。发起压力准确性有待评估,很少具有完善的压力测试数据分析和报告功能。
- 4 人工测试
-
使用人为操作进行并发测试验证,难以做到一致性,难以模拟系统的真正并发。导致测试不充分,无法找出系统的真正负载承受峰值、系统未来扩容的大致范围,未来扩容后的负载承受峰值。大型版本上线时需要大量人力、物力的相关配备,企业\机构将负担巨大的测试成本。
- No.1
新系统上线支持
在新系统上线前,通过执行性能压测能够对系统的负载能力有较为清晰的认知,预估用户数量保障系统上线后的用户体验。- No.2
技术升级验证
在系统重构过程中,通过性能压测验证对比,可以有效验证新技术的高效性,指导系统重构。- No.3
业务峰值保障
在业务峰值到来前,通过充分的性能压测,确保大促活动等峰值业务稳定性,保障峰值业务不受损。- No.4
站点容量规划
通过性能压测实现对站点精细化的容量规划,指导分布式系统机器资源分配。- No.5
性能瓶颈探测
通过性能压测探测系统中的性能瓶颈点,进行针对性优化,从而提升系统性能。某云资源厂家Iaas层在对接Paas层和业务层时会遇到资源能力标准的痛点,如租户业务对资源的评估和资源利用率等,这些问题需要做基础资源能力值的标准输出来解决。如测试和确定不同组件(kafka)在不同规格的云资源可提供的性能。
解决方案:
本测试环境分为paas平台和裸金属平台,每种平台分别有8种不同规格服务器,分别在各个平台的各个资源组合服务器进行压力测试。裸金属平台Kafka集群部署方案为3节点,另有3节点zookeeper,每个节点独立部署在一个服务器上,部署发方式为人工编写脚本部署。Paas平台同样采用6pod方案,3个kafka和3个zookeeper。
客户收益:
帮助客户确定kafka组件在16C/128G的云资源下,可提供的支撑10W高并发写入的最优性能,帮助客户、租户评估IaaS、PaaS资源的容量规划或性能峰值参考做出了决定性指导作用,提高项目交付效率,节约资源。