Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >浅谈 DevOps 模式下的性能测试

浅谈 DevOps 模式下的性能测试

作者头像
DevOps时代
发布于 2021-02-23 07:48:04
发布于 2021-02-23 07:48:04
1.2K0
举报

DevOps 是一组过程、方法与系统的统称,用于促进开发、运维之间的沟通、协作与整合,通过持续集成与持续交付使得构建、测试、发布能够更加地快捷、频繁和可靠。测试作为软件生命周期的一个必要环节,同样在 DevOps 实践中起到重要作用。

目前,在测试分层、自动化测试、测试管理等方面已经积累了丰富的 DevOps 实战经验,而性能测试是发现和识别系统瓶颈的重要环节,是对软件交付质量的有效补充。本文主要介绍 DevOps 模式下性能测试的实践经验。

一、性能测试环境搭建及部署

应用环境方面,由于 DevOps 实践多基于云上应用实施,只需要独立的数据库服务器,应用服务器通过容器实现,通过 K8S 将若干容器封装为最小调度单位的 POD 进行调度管理。在本次实践中,采用 TFS+PaaS 的方式,通过 TFS 触发 PaaS,生成应用镜像,将应用镜像推送至镜像仓库,最后部署到性能测试环境中。

应用发布方面,通过编写 yaml 文件来配置应用的 CPU、内存等资源使用数量、应用实例数、应用镜像名称和版本等信息,最后利用 yaml 文件将应用发布到 PaaS 平台。

测试数据方面,根据数据独立性原则,需要导入与功能测试相互独立的测试数据,数据来源可以是脱敏后的生产数据或测试人员通过批量制造的非敏感数据。

以下是云下、云上环境的对比:

二、性能测试策略

性能需求分析方面,①由于微服务是实现DevOps的重要架构,本次实践主要针对微服务模式,通过分析系统架构,明确调用链条、调用关系,找出容易发生故障的点位。②分析上述点位的交易,挑选具备访问量大、算法复杂、调用消耗资源等特点的交易。③根据挑选的交易,分析访问量、业务比例、用户数等信息进行性能建模,明确每支交易的TPS、响应时间、资源使用率等指标。

场景设计方面,主要对常规场景及异常场景进行测试。常规场景包含单交易基准、单交易负载、混合压力、疲劳测试。异常场景包含高可用测试、重连测试、限流测试。

在微服务模式下,需要更加关注异常测试,例如,当一个应用服务器的某个pod失去连接后,其上的流量是否能发送到另外一个pod上,重新启动pod,流量是否均匀分配到服务器上。当应用流量激增时,是否可以通过扩容解决流量问题。

三、性能调优

性能调优是一个不断优化的过程,借助 Jmeter、dynatrace 等工具实现性能指标自动化收集及初步分析,形成调优闭环,通过问题定位-性能优化-性能持续集成的闭环操作,不断提升交付质量。

图1:调优闭环

常见的性能问题及调优方案如下:

本文主要介绍了DevOps模式下性能测试的实践经验,然而在项目实施过程中,如何解决相对较长的性能测试周期与快速迭代之间的矛盾,需要测试人员持续探索和关注。相信随着人工智能的发展,会有越来越多的新技术应用于性能自动化,提高性能测试效率,将性能测试持续集成到流水线中,实现性能测试的快速迭代。

作者介绍:冯娜 中国农业银行高级测试工程师 从事运营、营销等领域的测试工作。

2020年11月27日,由云计算开源联盟指导,由高效运维社区和开放运维联盟联合主办的 2020 GOPS 全球运维大会 · 上海站上,隆重发布了 DevOps 标准持续交付部分第九批评估结果,中国农业银行手机存款贷款模块顺利通过由中国信通院开展的《研发运营一体化(DevOps)能力成熟度持续交付3级评估。DevOps 标准共分 5 级,持续交付部分如果能达到 3 级已经是国内领先水准,这代表着中国农业银行在参评项目的持续交付能力达到国内领先水平。这是中国农业银行在 6 月 19 日同时 5 个项目通过持续交付标准评估之后通过的第 6 个项目。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevOps时代 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
农业银行核心系统国产性能调优研究获2024年十佳课题,腾讯云TDSQL助力信息技术融合创新发展
该课题主要研究了如何在信息技术融合创新环境下,提高银行核心系统的运行效率。在这个过程中,腾讯云数据库TDSQL展现了强大的技术实力和丰富的行业经验,为农业银行提供了有效的解决方案。
小腾资讯君
2024/12/17
2010
农行 DevOps 实践:制品库对 DevOps 三大流水线的支撑
DevOps 可以提升开发和运维团队间的协作,并且通过自动化和可重复的方式将代码更快地部署到生产。有助于加快组织交付应用和服务的速度。对产品交付、测试、功能开发和维护起到了意义深远的影响。
DevOps时代
2021/05/31
3K0
农行 DevOps 进行时之最佳实践分享:测试数据治理
2020年11月农行手机银行系统参加了 DevOps 评估。参评项目手机银行安全能力提升项目,基于手机银行公共框架提供的安全防控处理机制对存贷模块进行安全改造。本文将从测试数据管理出发,分享手机银行 DevOps 评估过程中积累的测试数据管理经验。
DevOps时代
2021/07/09
9540
擎云平台助力农行DevOps自动化测试:接口交易快速录制方法的研究与实践
DevOps强调全流程自动化,要求自动化测试系统接入快、资产积累快、回归通过率高。在实践过程中,资产积累往往是接口自动化测试比较耗时的环节。交易是构成自动化测试资产的基本组成单元,其格式积累效率是衡量自动化测试工具效率的重要指标。
DevOps时代
2021/05/31
1.2K0
农行 DevOps 进行时之优秀实践分享:DevOps自动化测试问题与解决方案
2020年11月,农行手机银行系统存贷款模块顺利通过 DevOps 评估,标志着手机银行的持续集成、持续部署,持续测试等一些列持续能力得到了官方认证。DevOps 贯标实施过程中,测试团队基于手机银行自身特点对存贷款模块业务场景和交易进行层层梳理,从案例的设计、测试数据的准备、脚本的调试到案例的自动化执行,测试方面得到了很大的优化和提升。
DevOps时代
2021/03/15
1.2K0
农行 DevOps 进行时之最佳实践分享:自动化单元测试质量门禁
众所周知,问题发现得越早,修复的成本越低。有统计数据表明,产品上线后修复缺陷所花工时是编码阶段发现该缺陷修复所用工时的640倍。而 DevOps 正是通过质量内建的方式,把整个软件质量的保障内嵌到开发的过程中去,而不是留到后面再去检测,从而降低软件开发成本,更高效的保证质量。
DevOps时代
2021/03/15
2K0
助推数字化转型,农行信贷中台 DevOps 转型实践
信贷中台项目作为农业银行数字化转型重点项目,旨在破除原有信贷产品“竖井式”研发模式,通过抽象和沉淀标准化信贷业务服务,并依托服务共享与复用,快速支撑信贷产品创新,强化横向风险管控制约。
DevOps时代
2020/06/24
1.5K0
DevOps的工程化(下)
工程化这个词不知道大家怎么理解,你在写代码的时候,我们说你的代码结构好,你的框架设计得好,这其实是一个工程,因为它落地。我们今天谈的DevOps工程化也指的这个含义,到现在为止都是一些比较抽象的概念,它是一些比较好的理念,没有具体的落地点,你无法感受到它真正的好。
Worktile
2019/06/03
7890
DevOps的工程化(下)
试点项目背后的支撑:农行研发中心 DevOps 工具链集成揭秘
DevOps 通过自动化“软件交付”和“架构变更”的流程,使得构建、测试、发布软件能够更加快捷、频繁和可靠。
DevOps时代
2020/07/21
2.2K0
试点项目背后的支撑:农行研发中心 DevOps 工具链集成揭秘
敏捷“拥抱”DevOps,快速提升交付价值
DevOps 是一种软件工程文化与实践,以推动开发和运维一体化为目标,旨在通过打破职能部门的壁垒,改变协作模式,促进需求的快速实现。
DevOps时代
2021/07/09
7020
WeTest加入DevOps标准工作组,助力构建行业标准测试能力
前言   根据麦肯锡的一项研究结果,科技公司想要成功,关键所在无外乎两点:标准化和工具赋能。标准本身是最佳实践的集合,将标准固化在工具里,让人做更有价值的事情。这和DevOps标准以及DevOps流水线工具平台以及WeTest所秉持的腾讯“连接”理念不谋而合。WeTest将大大小小的测试团队在WeTest测试中台连接,使其能更快更好的完成测试交付的理念   2019年11月1日,GOPS全球运维大会在上海正式召开。GOPS全球运维大会至今已成功举办13届,是国内第一个也是最大的面向互联网;金融,通信以
WeTest质量开放平台团队
2019/11/08
6200
WeTest加入DevOps标准工作组,助力构建行业标准测试能力
DevOps落地实践及案例分享
银行业为了应对业务的快速变化、互联网层面不穷的业务形态和交易压力,IT“双态(或双模)化”无可避免,开始探索部分业务参考互联网的方式引入分布式架构,但对于银行业独特的强监管、高安全、强一致性的行业要求前提下,如何在业务发展、合规、IT革新之间找到平衡?
架构之家
2022/09/01
7120
DevOps落地实践及案例分享
农行 DevOps 实践:流程优化促效率提升
近年来,随着大数据、云计算、人工智能和区块链等新兴技术的快速发展,各大商业银行对于产品研发速度提出更高的要求,DevOps作为提升企业研发效能的重要手段,通过把人员、流程、工具、文化相结合,建立端到端的自动化流程,实现“快速交付价值,灵活响应变化”,越来越受到企业的重视和青睐。
DevOps时代
2021/07/09
9260
农行 DevOps 进行时之最佳实践分享:特性分支流水线配置
开发人员更新特性分支 feature 后可通过拉取请求向主干分支或者发布分支合并代码,通过配置主干或发布分支的分支策略,确保合并前代码经过了提交即构建流水线的相关质量门禁(如单测、代码合规和安扫等)和相关人员的代码评审,才会将此特性分支代码合并入目标分支,如该特性分支不投产时可以通过还原功能去除该功能,如该特性分支在其他分支投产时可以通过挑拣功能合并到其他投产分支。
DevOps时代
2021/07/09
1.3K0
从CI/CD持续集成部署到DevOps研发运维一体化
今天整理下从传统的CI/CD到DevOps研发运维一体化的整个演进过程。类似于每日构建和冒烟测试,实际上在10多年前就已经在实践,比如当前用的笔记多的Ant+CruiseControl方式来实现自动化的编译构建和持续集成能力。
IT大咖说
2021/01/27
1.7K0
从CI/CD持续集成部署到DevOps研发运维一体化
度量是这样炼成的,中国农业银行度量平台建设的思考与实践
随着软件工程实践的不断深入,人们逐步认识到软件质量和软件生产过程密切相关。像传统制造业一样,只有提高软件生产过程能力才是企业长期、稳定地开发高质量软件产品的保障。那么,对于软件过程的现状和改进的效果如何进行检查?答案是只有通过度量。 软件度量是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程,能够解决软件项目中很多问题,是软件研发中重要的一环。通过研发度量建立有效的控制、监督、分析和反馈机制,“数”说研发,让目标更明确、现状更清晰、改进更精准。 一、农行研发度量面临的挑战 1、数据量
DevOps时代
2022/03/14
1K0
Mock 改造助力农行单元测试提速
单元测试是代码开发和DevOps质量内建无法绕开的话题,无论是橄榄球型还是金字塔型的的测试分层方案都需要对单元测试做充分的设计。
DevOps时代
2021/05/31
8630
金融云原生漫谈(一)|银行业如何快速提升应用研发效能和交付效率?
在金融行业数字化转型的驱动下,国有银行、股份制银行和各级商业银行也纷纷步入容器化的进程。如果以容器云上生产为目标,那么整个容器云平台的设计、建设和优化对于银行来说是一个巨大的挑战。如何更好地利用云原生技术,帮助银行实现敏捷、轻量、快速、高效地进行开发、测试、交付和运维一体化,从而重构业务,推动金融科技的发展,是个长期课题。
灵雀云
2021/12/17
6270
DevOps 进行时之最佳实践分享:代码合规检查配置
DevOps 推广及改进过程中,组织级准备了 DevOps 流水线套餐供项目组使用,pipeline 包含了代码合规检查任务,该任务搭配质量门禁任务进行指标及增量控制,质量任务中 圈复杂度平均值、圈复杂度最大值、重复率百分比等几个值,由项目组自行定义。
DevOps时代
2021/07/09
7240
国有商业银行 DevOps 标准评估情况概览(22Q1)
在数字化转型的大背景下,企业选择实践 DevOps 来提升IT效能,由中国信息通信研究院牵头的《研发运营一体化(DevOps)能力成熟度模型》系列标准具有较高的指导意义,各行业头部企业在参与中国信息通信研究院组织的 DevOps 能力成熟度模型评估的过程中,提升改进 IT 能力,整合团队资源及人才,更好的支持业务系统,其实践经验对于行业有很好的借鉴价值。 中国工商银行、中国农业银行、中国银行、建信金科、交通银行(包含交通银行信用卡中心)和中国邮政储蓄银行等国有商业银行通过 DevOps 能力成熟度模型评估的
DevOps时代
2022/03/04
2K0
推荐阅读
相关推荐
农业银行核心系统国产性能调优研究获2024年十佳课题,腾讯云TDSQL助力信息技术融合创新发展
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档