热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

性能测试认识

1、性能测试概念【虚拟用户】模拟真实业务逻辑步骤的虚拟用户,其模拟的操作步骤都被记录再虚拟用户脚本中。【事务】事务是性能测试脚本的一个重要特性,按照最小的http请求打包而成。【T

1、性能测试概念

【虚拟用户】模拟真实业务逻辑步骤的虚拟用户,其模拟的操作步骤都被记录再虚拟用户脚本中。
【事务】事务是性能测试脚本的一个重要特性,按照最小的http请求打包而成。
【TPS】每秒中系统处理的交易或者事务的数量。
【PV】用户浏览器访问页面,对应用服务器产生的每一个请求,记录一个PV。
【Peak PV】峰值PV,一般适用于接口测试。
【并发】并发分为广义和狭义的并发。侠义的并发是所有的用户在同一时刻   做相同的操作,一般为同一类型业务,或者所有用户进行完全同一操作。广义的并发是多个用户对系统发出请求或者操作,但是这些请求或者操作可以不同,对整个系统而言,仍然有很多用户同时进行操作。
【场景】性能测试过程中为了模拟真实用户的处理过程。
【响应时间】响应时间是指客户端发送一个请求开始,到客户端接收到服务器返回的响应结果结束所经历的时间。
【思考时间】模拟用户正式的实际操作时的停顿间隔时间,思考时间会影响TPS。
【CPU资源】CPU是指性能测试场景运行的这个时间内,应用服务器系统的CPU资源占用率。
【标准差】该标准差根据数据统计的概念得来,标准差越小,说明系统越稳定。

2、性能测试的种类

【性能测试】侠义的性能测试,是指以性能预期为前提,对系统不断施加压力,验证系统在资源可接受范围内,是否能达到性能预期。
【Linux资源查看】  top

top -i 动态显示内存
top 每5秒显示资源的占用情况
top -d 2每2秒显示系统的资源消耗情况

 free

free表示内存的使用率情况

 iostat(IO)

iostat -d -k 2 -d表示磁盘的使用状态 -k 磁盘的使用块 2表示2秒显示一次
iostat -d sda 2表示指定监控sda

内存中的buffer和cache

写缓存:数据存储时,先保存到磁盘缓冲区,然后再写入到永久空间
读缓存:数据从磁盘读出后,暂留在缓冲区,预备程序接下来的使用

【负载测试】侠义的负载测试,是指对系统不断增加压力或增加一定压力下持续时间,直到系统某项或某几项性能指标达到安全临界值。
【压力测试】侠义的压力测试,是指超过安全负载的情况下,对系统不断施加压力。
【稳定性测试】稳定性测试的TPS,响应时间,资源消耗等波动率不超过15%。

 

 

3、性能测试关注角度

【用户角度】响应时间,用户体验。性能测试压测服务器的响应时间一般在内网,所以不考虑公网的响应时间。压力测试不应该在公网测试,因为公网的环境是不可控的。
【运维角度】资源消耗是否正常,数据库规划配置是否正常。运维的性能监控工具主要有zabbix工具等。
【开发角度】页面性能,代码正确率。
【客户角度】系统扩展性,项目成本。

 

4、性能测试指标

1、在资源充足的情况下满足TPS
2、通过率不超过安全界限
3、资源消耗不超过安全界限
4、接口测试响应时间(1)通用的接口响应时间分布情况:  100ms为优良  500ms为及格  1000ms以上为不可忍受(2)金融接口响应时间的分布情况:  100ms为优良  200ms为及格  300ms以上为不可忍受
5、测试服务器的响应时间的各项指标是多少(1)1/3/5排除网络时间和前端增加时间(2)2/4/6加上网络时延,并发很严重的情况下6s
6、并发用户数和TPS的关系是怎么样的(1)有关系,但不是正比关系(2)和思考时间有反比关系(3)网络时间要考虑,但是要排除
7、在某一项资源到达高端临界值时到达B点(1)一般测试到B点就差不多        A点是闲时用的        A-B点高峰时间用的(2)稳定性测试一般在B点(3)最佳用户数B点(4)永不宕机的基础B点
8、高端临界值B点判断的各项指标(1)CPU 70%(2)内存 70%(3)I/O 60%(4)网络        一个网卡,进出网卡40%        两个网卡,进网卡80%,出网卡80%
9、低点临界值非高峰期的业务值A的各项指标是多少(1)CPU 50%(2)内存50%(3)I/O 40%(4)网络30%
10、性能测试各个点的总结(1)在安全值希望没有虚拟内存的交换(2)如何测试拐点?越测试坡度越缓,才能测试比较真实的拐点(3)压测到某一项资源到达极限C点
11、单场景和多场景测试的区别是什么(1)资源够不够的问题(2)资源分配的问题(3)争用资源的问题

 



推荐阅读
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
author-avatar
KingDragon龙帝
这个家伙很懒,什么也没留下!
RankList | 热门文章