面向云服务的测试方法——性能评测

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 软件(含云系统)本身的复杂性决定了在软件的整个生命周期中风险的大量存在,而严重风险可能会导致整个项目的失败。因此,对软件系统进行全方位评测越来越引起人们的重视。

软件(含云系统)本身的复杂性决定了在软件的整个生命周期中风险的大量存在,而严重风险可能会导致整个项目的失败。因此,对软件系统进行全方位评测越来越引起人们的重视。

性能评测

大多软件都有其特殊的性能或效率目标要求,说明在一定的工作负荷和格局分配条件下,多数软件都具有响应时间及处理速度等特性。

性能测试概述

性能测试主要是通过获取与行为相关的指标数据,如响应时间、系统容量、吞吐量和限制等指标来评估测试对象的性能。
性能测试的主要目标体现在以下几个方面:

1)系统并发性。在系统可以接受的性能水平以及濒临崩溃的临界情况下,系统可以支持的并发用户数目。
2)系统瓶颈。整个系统中瓶颈所在位置。
3)系统可扩展性。系统具备多大规模就可实现设计目标,并展示出好的系统性能。

系统性能评测的关注点集中在评测指标和评测方法上,根据预先确定的评测指标,针对不同的评测对象,设计相应的评测方法进行性能测试。在传统的性能测试中,常用的性能评测指标包括以下几方面:

1)响应时间、从用户发出请求到收到服务器的响应所经历的延迟。
2)最大并发用户数。系统运行过程中所能承受的同时向服务端发送请求的最大用户数。
3)吞吐量。在某一个特定的时间单位内系统所处理的用户请求数量。一般来说,吞吐量会随着用户请求数目的增多而增大。但是当用户请求达到系统能够并发处理的最大用户请求数目时,用户的请求数目就是最大吞吐量。因此,通过吞吐量可以找到系统的瓶颈问题。
4)资源使用率。系统中各种资源的使用情况,一般用资源的实际使用占总资源可用量的百分比来表示。
5)聚合带宽。系统能够提供的最大数据传输率,即对外部应用系统可见的数据传输率,用来反映系统对外提供服务的整体性能,是一个综合测评指标。

确定了性能指标之后,还需要设计选择相应的性能评测方法。传统的性能评测方法有以下几种:

1)负载测试。主要测试软件系统是否达到需求文档设计的目标。比如软件在一定时期内,最大支持多少并发用户数、程序请求出错率等。
2)压力测试,这也称为强度测试,主要测试软件在超负荷情况下的运行情况。譬如在一定时期内,CPU利用率、内存使用率、硬盘I/O吞吐率和网络吞吐量等。压力测试和负载测试的最大差别在于测试目的不同。
3)并发测试。这主要是指负载测试和压力测试的过程,即通过逐渐增加同时访问系统的用户数量,直至达到系统的性能瓶颈,再通过综合分析来确定系统并发性能的过程。
4)容量测试。确定系统最大承受量,如系统最大用户数、最大存储量和最多处理的数据流量等。

性能测试工具是软件开发工具的重要组成部分,通常指用来支持压力测试、负载测试,能够用来录制和生成脚本、设置和部署场景、产生并发用户以及向系统施加持续压力的工具。性能测试工具能够模拟大量用户同时访问软件时的情况,同时也能模拟单个用户访问软件时的个性化参数。

性能测试的工具有很多,主流的产品有:①LoadRunner,一种工业标准级负载测试工具,可以预测系统行为和性能,通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,能够对整个企业架构进行测试;②lometer,Windows系统下对存储子系统的读写性能进行测试的软件,可以显示硬盘系统的最大/O能力、硬盘系统的最大吞吐量、CPU使用率和错误信息等:③JMeter,Apache开发的基于Java的压力测试工具,最初被设计用于Web应用测试,后来被扩展到其他测试领域,可以用于对服务器、网络或对象模拟巨大的负载,在不同压力类别下测试它们的强度并分析其整体性能。

云计算的性能测试

目前对于云的性能测试主要是针对特定云平台、云存储服务性能和云应用等进行的。例如针对微软的Azure云平台,提出了一个开源的基准测试套件AzaureBench,以协助高性能计算应用开发。Yahoo公司开发了一个用来对云服务进行基础测试的评测框架 YCSB(Yahoo Cloud Serving Benchmark),目标是促进新一代云数据服务系统的性能比较。Yang等人考虑到故障恢复对云服务性能的影响,并据此提出了一种以服务响应时间为主要依据的性能评价模型。

云计算性能测试的主要目标是验证在各种负载情况下云服务的性能。进行性能测试的最佳方式是使得多个测试用户运行完整的云服务测试,包括请求提交和应答验证。性能测试不仅通过指定的并发请求数目来监视服务器的响应速率,还要测试各类负载是否导致云服务功能性故障。因此,要求云服务性能测试工具能够定制性能测试场景来执行云计算性能测试。云计算性能测试可设置的场景主要包括缓冲区测试、线性增加和稳定负载等。通过使用不同的测试场景来使用不同的测试用例,同时还应支持跨越远端的云服务器分布虚拟用户,从而模拟极限测试与压力测试。

与传统软件的性能测试相比,除进行常规的负载测试和压力测试等外,云性能测试还需要进行:①稳定性测试,如果对系统平台有连续运行的要求,可对系统进行疲劳性测试,确认系统是否能够满足相应的连续运行时间要求;②大数据量测试,在系统平台具有一定业务数据量的背景下进行测试,目的是发现在小数据量情况下测试不易发现的潜在问题与缺陷。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
2月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
68 4
|
3天前
|
编解码 缓存 Prometheus
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
本期内容为「ximagine」频道《显示器测试流程》的规范及标准,我们主要使用Calman、DisplayCAL、i1Profiler等软件及CA410、Spyder X、i1Pro 2等设备,是我们目前制作内容数据的重要来源,我们深知所做的仍是比较表面的活儿,和工程师、科研人员相比有着不小的差距,测试并不复杂,但是相当繁琐,收集整理测试无不花费大量时间精力,内容不完善或者有错误的地方,希望大佬指出我们好改进!
46 16
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
|
2天前
|
人工智能 自然语言处理 测试技术
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
AxBench 是由斯坦福大学推出,用于评估语言模型可解释性方法的基准测试框架,支持概念检测和模型转向任务,帮助研究者系统地比较不同控制技术的有效性。
30 5
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
|
2月前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
38 11
|
2月前
|
算法 Java 测试技术
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
65 13
|
2月前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
55 10
|
2月前
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
155 13
|
3月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
68 6
|
3月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
99 1
|
3月前
|
JavaScript 安全 编译器
TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法
本文深入探讨了 TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法,并通过实际案例展示了其在项目中的应用效果,旨在提升代码质量和开发效率。
73 6

热门文章

最新文章