热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

性能测试基础知识——性能测试分类和测试指标

性能测试分类性能测试压力测试压力测试是指当硬件资源如cpu、内存、磁盘空间等不充足时对软件稳定性的检查。压力测试属于负面测试(Negativetesting),使大量并发用户

性能测试分类

性能测试


压力测试

压力测试是指当硬件资源如cpu、内存、磁盘空间等不充足时对软件稳定性的检查。
压力测试属于负面测试(Negative testing),使大量并发用户/进程加载软件以使系统硬件资源不能应付。这个测试也被称为是疲劳测试(Fatigue testing),通过超出其能力的测试来捕获应用程序的稳定性。
压力测试的主要思想是确定系统故障,关注系统如何优雅地恢复正常,这种质量被称为是可恢复性。


负载测试

负载测试是不断增加系统的负载,直到负载达到阈值——评估系统在预期工作负载下的性能的测试。
该方法可以找到系统的性能极限,可以为性能调优提供相关数据。


持久测试

持久测试(Endurance testing),也被称为是浸泡测试(Soak Testing),它也是一种非功能的测试。
持久测试是指在相当长的时间内使用预期的负载量对系统进行测试,以检查系统的各种行为,如内存泄露、系统错误、随机行为等。
这里的提到的相当长的时间是相对而言的,举例来说,如果一个系统设计为运行3个小时的时间,那可以使用6个小时的时间来进行持久测试;如果设计为5个小时的时间,不妨用10个小时的时间来进行持久测试。对于现在的许多网络类应用程序,通常情况下会持续运行好多天,那么进行持久测试时可以选择更长的时间段。


尖峰冲击测试

尖峰测试是在目标系统经受短时间内反复增加工作负载,以至超出预期生产操作的负载量时,分析系统的行为,验证其性能特征。它还包括检查应用程序是否可以从突然增加的超预期负荷中恢复出来的测试。
例:在电商应用程序中经常有“整点秒杀”的活动,所以在整点时间前后的两三分钟时间里,会有巨大数量的用户进入到该活动中秒杀商品。尖峰测试就是为了分析这类场景。


容量测试(大数据测试)

容量测试是一种非功能的测试,它通过向应用程序中添加大量的数据来实现。可以通过向数据库插入大量的数据或让应用程序处理一个大型文件来进行测试应用程序。
通过容量测试,可以识别应用程序中具有大数据时的瓶颈,检查应用程序的效率,进而得到不同数据量级下应用程序的性能。
注意,这里所说的数据一定是符合其功能场景的,不是毫无关系的数据。

 


性能指标

PS:TPS、点击率,吞吐量等
首先,用户操作系统,每秒向Web服务器提交的HTTP请求数就是Hits per Second(每秒点击次数),用户操作的场景,可以定义为一个事务(例如学习课程),系统每秒处理事务数就是Transactions per Second(每秒通过事务数/TPS),这样就会有数据在流动,那么用户在任何给定的每一秒从服务器获得的数据量,就是Throughput(吞吐率)。系统给予用户响应所需要的时间,就是Average Transaction Response Time(响应时间)。 TPS和响应时间在理想状态下都是额定值,因为系统硬件/软件/网络环境不变的情况下,这些都是不变的,但是实际使用中

正常情况下:
系统开始使,tps会随着用户数的增加而增加,当增加到一定程度时候,tps变得稳定下来,该tps值便是系统的处理能力,再随着用户数的增加,只能牺牲客户的响应时间去满足系统的处理能力,即,系统的响应时间变得越来越大。
系统受的压力会随着点击的增加而增加,系统性能也就慢慢的下降,例如释放资源的速度开始变慢、换页开始频繁,那么,后面的点击造成的请求,很有可能需要等待的时间随机变长。但是采样的频率是不变的,所以后面的采样值应该慢慢的变小。
也就是像有些图中所显示的那样:随着场景时间的持续,点击率,吞吐量等图的曲线慢慢的下降。


 

注册用户数

注册用户数指软件中已经注册的用户,这些用户是系统的潜在用户,随时都有可能上线。这个指标的意义在于让测试工程师了解系统数据中的数据总量和系统最大可能有多少用户同时在线。

在线用户数

在线用户数是指某一时刻已经登录系统的用户数量。在线用户数只是统计了登录系统的用户数量,这些用户不一定都对系统进行操作,对服务器产生压力。

并发用户数

不同于在线用户数,并发用户数是指某一时刻向服务器发送请求的在线用户数,他是衡量服务器并发容量和同步协调能力的重要指标,从这个含义上讲,我们可能会如下两种理解:
同一时刻向服务器发送相同或者不同请求的用户数,也就是说,既可以包括对某一业务的相同请求,也可以包括对多个业务的不同请求
同一时刻向服务器发送相同请求的用户数,仅限于某一业务的相同请求

请求的相应时间

相应时间就是用户感受软件系统为其服务所消耗的时间。对于web系统,请求的相应时间指的是从客户端发起的一个请求时间,到客户端接收到从服务器返回的相应结束。
(1)在3秒之内,页面给予用户相应所有显示,可认为是很不错的
(2)在3-5秒之内,页面给予用户相应所有显示,可认为是好的
(3)在5-10秒之内,页面给予用户相应所有提示,可认为是勉强接收的
(4)超过10秒后就有点让人不耐烦,用户很坑不会继续等待下去

事务的相应时间

事务是指用户在客户端做一种或多种业务所小阳台的操作集,事务的相应时间就是衡量用户执行这些操作集所花费的时间。在性能测试中,一般通过计算事务的开始时间和结束时间的差值来获取事务的相应时间。

每秒点击数

每秒点击数是指每秒钟像web服务器提交的HTTP请求数,它是衡量服务器处理能力的一个常用指标。需要注意的是,这里的相应时间并非鼠标的一次单击操作,因为在一次单击操作中,客户端可能向服务器发出多个HTTP请求,切勿混淆。

吞吐率

吞吐率通常指单位时间内从服务器返回的字节数,也可以单位时间内客户提交的请求数。吞吐率是大型web系统衡量自身负载能力的一个重要指标,一般来说,吞吐率越大,单位时间内处理的数据就越多,系统的负载能力也强。吞吐率yu很多因素有关,服务器的硬件配置,网络的宽带及拓扑结构,软件的技术架构等。

事务成功率

指多用户对某一业务发起操作的成功率。例如,测试网络订票系统的并发处理性能,在早上8:00——8:30半小时的高峰里,要求能支持10万比订票业务,其中成功率不少于98%。也就是说系统允许200笔订票业务超时或者因其他原因导致未能订票成功。

TPS

TPS表示服务器每秒处理的事务数,他是衡量系统处理能力的一个非常重要的指标,在性能测试中,通过检测不同用户的TPS,可以估算出系统处理能力的拐点。

资源利用率

资源利用率就是指资源的使用情况,如CPU使用率、内存使用率、网络宽带的使用情况、磁盘I/O的输入输出量等系统硬件方面的监控指标。一个完整的系统是由软件和硬件组成,缺了任何一方都不可能成为一个正常运作的系统,所以资源利用率也是测试人员的一个监控点,并在当前软件的发展趋势下,硬件资源的成本也不可小视。



推荐阅读
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 压力测试工具  ab
    ab是Apache自带的一个压力测试工具,命令行,是ApacheBench命令的缩写。ab的原理:ab命令会创建多个并发访问线程ÿ ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • Whatisannotation?annotation的中文意思就是注解,注释的意思。注解也属于一种类型。它是在JavaSE5.0版本中开始引入的概念。它的形式跟接口很类似,不过前 ... [详细]
  • 2010年下半年软件评测师试题标准答案阅卷用标准答案,更多答案登录http:www.enpass.cn查看,软考培训权威机构由于发博文的限制,有些图片不能发上来,下载完全版答 ... [详细]
  • “双十一”过后,你的数据库还好吗?
    刚刚过去的“双十一”对线上零售业来说是一场全方面的压力测试。在美国,十一月末的“黑色星期五”(BlackFriday)和“双十一”有着异曲同工之妙,对线上零售商来说也是一年一度的大 ... [详细]
  • 压力测试_单节点数据库的压力测试
    mysqlslap是mysql自带的基准测试工具,优点:查询数据,语法简单 ... [详细]
author-avatar
粅媞em亼啡
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有