《云上大型赛事保障白皮书》——第三章 压测调优与技术演练——3.1 云上大型赛事压测调优——3.1.1 压力测试基本概念

简介: 《云上大型赛事保障白皮书》——第三章 压测调优与技术演练——3.1 云上大型赛事压测调优——3.1.1 压力测试基本概念

第三章 压测调优与技术演练


系统迁移上云之后,如何评估系统稳定性是我们要面临的第一个问题。本章主要讨论如何使用压力测试的方法,通过测量量化的指标来评估系统整体性能,并在压测过程中进行系统调优,以及如何使用技术演练的方法,通过具体实践的形式评估系统整体稳定性,以及这两种方法在北京冬奥保障上的应用。


3.1 云上大型赛事压测调优


3.1.1 压力测试基本概念


传统的业务系统并非生来在云上设计、云上搭建,也许我们非常了解系统的架构,清楚每个模块的规格和指标,但是系统整体在云上所能承受的性能量化级别是模糊的。此时就需要一种方法去评估系统整体性能及稳定性,这就是压力测试。

压力测试可以帮助我们量化理解该系统架构是否可承载当前至未来一段时间的业务量,也可以帮助我们发现系统瓶颈、系统可能存在的缺陷。压力测试是任何一个高可用高并发系统在上线之前必须经历的过程。

以下量化指标常被用来评估压力测试效果:

并发数:在同一时刻,同时操作同一个功能点的客户或客户端的数量。也可以理解为同时在线的用户数。

QPS(Query Per Second):或者叫RPS(Request Per Second),是最重要的通用指标,指系统每秒能处理的请求个数,或指客户端所发起的每秒请求量。

TPS(Transaction Per Second):指系统每秒能处理的事务个数。在单一功能模块场景下,QPS = TPS * 每个事务所包含的请求数。假设一个事务只包含一个请求,那么 TPS = QPS。

成功率:在一定量级的QPS或TPS下,系统能成功处理的比例。在达到系统瓶颈时,成功率会极速恶化。

RT(Response1Time):响应时间,是指用户在请求某个操作之后到获得结果之前需要等待的时间量。一般情况下这是客户端侧的参数,因此包括网络请求以及网络响应返回时间。

吞吐量:反映处理能力总量的指标,在给定的时间内处理的事务量或请求量。CPU资源利用率、内存利用率、I/O、内核参数(信号量、打开文件数)等:一些通用资源指标,不再赘述。

通常来说,一个优质的系统可以用较短的响应时间,以较高成功率处理高并发数的QPS请求,同时不会触发资源指标的性能瓶颈。而压测指标的侧重点选取则需要业务方基于业务层面的考量提供明确的压测目标。例如,在北京冬奥通APP压测过程中,确定了压测目标就是系统需要满足xW日活(DAU,Daily Active User,日活跃用户数量),单接口成功率在99.99%以上,单接口RT在3s以内。作为云服务商,我们就可以根据此目标进一步拆解指标,完成压测。与这些指标相伴的是有关压力测试的一些术语,总结如下:

事务是作为单个逻辑工作单元执行的一系列任务,如完成一项查询,完成一次数据传输等。一个事务可能包含多次请求。在一个事务只有一次请求的情况下,TPS = QPS。

压测机:也叫施压机,即模拟用户发起请求的机器。

单接口压测:针对具体的某个接口实施的压力测试。

全链路压测:以全链路业务模型为基础,多个接口串行实施的压力测试。

数据清理:压测过程中如果有存储操作,则可能会伴随脏数据,压测结束时要对脏数据清理掉。

功能回归:如果系统有针对压测场景进行特定的调整或更改,压测及数据清理完成后,需要进行功能回归。

相关文章
|
11月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
266 4
|
2月前
|
人工智能 数据可视化 测试技术
Postman 性能测试教程:快速上手 API 压测
本文介绍API上线后因高频调用导致服务器告警,通过Postman与Apifox进行压力测试排查性能瓶颈。对比两款工具在批量请求、断言验证、可视化报告等方面的优劣,探讨API性能优化策略及行业未来发展方向。
Postman 性能测试教程:快速上手 API 压测
|
3月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
2月前
|
人工智能 Java 测试技术
单元测试覆盖率的自动控制技术
Jacoco是Java程序覆盖率工具,可以在pom.xml通过配置来自动控制程序的覆盖率
77 5
|
3月前
|
人工智能 资源调度 jenkins
精准化回归测试:大厂实践与技术落地解析
在高频迭代时代,全量回归测试成本高、效率低,常导致关键 bug 漏测。精准化测试通过代码变更影响分析,智能筛选高价值用例,显著提升测试效率与缺陷捕获率,实现降本增效。已被阿里、京东、腾讯等大厂成功落地,成为质量保障的新趋势。
|
前端开发 JavaScript 测试技术
前端测试技术中,如何提高集成测试的效率?
前端测试技术中,如何提高集成测试的效率?
|
5月前
|
测试技术
软考软件评测师——可靠性测试测试方法
软件可靠性是指软件在规定条件和时间内完成预定功能的能力,受运行环境、软件规模、内部结构、开发方法及可靠性投入等因素影响。失效概率指软件运行中出现失效的可能性,可靠度为不发生失效的概率,平均无失效时间(MTTF)体现软件可靠程度。案例分析显示,嵌入式软件需满足高可靠性要求,如机载软件的可靠度需达99.99%以上,通过定量指标评估其是否达标。
|
5月前
|
安全 测试技术 持续交付
软考软件评测师——基于风险的测试技术
本文详细阐述了测试计划的核心要素与制定流程,涵盖测试范围界定、实施策略规划、资源配置及风险管理机制。通过风险识别方法论和评估模型,构建了完整的质量保障体系。同时,针对不同测试级别与类型提供具体配置建议,并提出技术选型原则与实施规范,确保测试活动高效有序开展,为项目成功奠定基础。内容结合实际经验,具有较强指导意义。
|
数据采集 缓存 测试技术
性能测试中,除了迭代次数,还有哪些因素会影响测试结果?
性能测试中,除了迭代次数,还有哪些因素会影响测试结果?
357 2
|
数据采集 前端开发 安全
前端测试技术
前端测试是确保前端应用程序质量和性能的重要环节,涵盖了多种技术和方法