性能测试的基础概念 - 黑马1723

wq-zhou 2021-12-02 原文
  主要从两个方面体现:响应时间,及时处理能力。
        首先,性能是一种指标,表明软件系统或构件对其及时性要求的符合程度;
其次,性能是软件产品的一种特性,可以用时间来进行度量。

 

性能测试人员要全面考虑,即关注以上所有关注点,既需关注最表面、直观的响应时间,也需内里、本质的影响因素,如资源利用率、系统容量、稳定性、系统架构(eg三层架构)、业务数据流向、服务器瓶颈、网络瓶颈、中间件等。

1)验证系统的处理能力(是否达到用户 | 产品提出的性能指标);

2)识别系统的性能瓶颈;

3)验证系统的稳定性和可靠性:7*24小时压力下,性能是否稳定;

4)系统调优(eg,12306:分流(分时间段出票)、加入排队系统、全程票(减少库存查询))。

关注:tps随并发用户数不断增加的变化,拐点及拐点后的变化。

注意:在给定的测试环境下进行,通常需要考虑北侧系统的业务压力量和典型场景。

作用:一般用来了解系统的性能容量,或配合性能调优使用。

狭义的并发:用户在同一时间内做同一事情
广义的并发:用户同时操作不同的功能(混合场景:登录、下订单、、支付订单)

 

 

 

在性能测试中,一般先进行狭义的并发(单场景单接口做性能测试,可更好地定位问题),再进行广义的并发(混合场景(验证系统的稳定性,在多个关联接口时,会不会出现新的问题))

系统用户数:系统的注册用户数(包含僵尸用户)

在线用户数:登录系统的用户(不一定对服务器产生压力)

并发用户数:对服务器产生压力的用户

并发用户数的确定:老系统-找运维;新系统:竞品、做过的项目、经验

事务是性能脚本中的一个重要特性。要度量服务器的性能,需要定义事务,每个事务都包含事务开始和事务结束标记。事务用来衡量脚本中一行代码或多行大妈的执行所消耗的时间。

响应时间=网络时间(N1+N2+N3+N4)+服务器处理时间(A1+A3)+数据库处理时间(A2)

web的HTTP请求中响应时间包括了前段渲染时间,但是loadrunner中是不统计前段渲染时间的。

tps(Transaction Pre Second)

服务器每秒能处理的事务数,用来衡量服务器处理能力。基于事务统计。

指系统在单位时间内处理请求的数量,不严格意义上来说就是tps。

从客户端发起请求服务器的数量(衡量客户端性能,需排除网络、本机产生的影响)。

指系统资源的使用程度,比如服务器(网络及数据库)的CPU利用率,内存利用率,硬盘利用率,网络带宽利用率等。

大脑,主要进行判断和处理,能反应出系统的繁忙程度,一般分为系统CPU(%sys)与用户态CPU(%user),其中系统CPU是处理系统本身所占用的资源,用户CPU则是处理程序所占用的资源。对象不同。

 

用户态CPU高:代码、sql语句处理有问题;

系统态CPU高:内核、服务器资源瓶颈。

指一段时间内CPU正在处理和等待CPU处理的事务,也就是CPU使用队列的长度的统计信息。eg:地铁进站,等待乘客越多,load average越大。

记忆区域,将各种信息收集起来存放。数据从内存读取要比从磁盘读取速度快,而内存经常发生内存泄漏或内存溢出的现象。

可以理解成进站排队的现象,队列长,说明处理可能达到了极限或者遇到了阻塞。

重点关注网络的流量,看是否存在网络带宽的瓶颈。

发表于
2019-03-31 14:02 
黑马1723 
阅读(882
评论(0
编辑 
收藏 
举报

 

版权声明:本文为wq-zhou原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wq-zhou/p/10631189.html

性能测试的基础概念 - 黑马1723的更多相关文章

  1. 重载和覆写的区别 – htc开发

    重载和覆写的区别 2011-06-15 13:30  htc开发  阅读(148)  评论(0)  编辑  收 […]...

  2. 使用Angularjs和Vue.js对比 – Silentdoer

    使用Angularjs和Vue.js对比 转载自:http://www.cnblogs.com/summer7 […]...

  3. 并发之CountDownLatch用法详解 – 五色风车

    并发之CountDownLatch用法详解 概念        CountDownLatch 是一个同步工具类 […]...

  4. Java表现层、业务层、持久层 – arrows

    Java表现层、业务层、持久层 收藏博主 https://blog.csdn.net/Song_JiangTa […]...

  5. 简单工厂、工厂方法和抽象工厂的总结 – thinkam

    简单工厂、工厂方法和抽象工厂的总结 首先,放上项目github地址: https://github.com/c […]...

  6. Canal —— 基本概念及使用

    参考文档 开源数据同步神器——canal【若泽大数据】大数据之实时数据源同步中间件–生产上Cana […]...

  7. C#窗体控件简介ListBox – CRM 软件

    C#窗体控件简介ListBox ListBox 控件ListBox 控件又称列表框,它显示一个项目列表供用户选 […]...

  8. eclipse中maven项目部署到tomcat [转] – 疯码牛

    其实maven项目部署到tomcat的方式很多,我从一开始的打war包到tomcat/webapps目录,到使 […]...

随机推荐

  1. Visio打开或取消箭头的自动吸附和自动连接

    在用Visio画图时Visio的自动对齐、自动连接、自动吸附功能确实能带了很多便利。但在画连接线时,Visio […]...

  2. 如何在Centos7上安装&使用docker – 东邪西毒

    如何在Centos7上安装&使用docker Docker 是一个开源工具,它可以让创建和管理 Lin […]...

  3. 玩转 SpringBoot2.x 之整合 thumbnailator 图片处理

    SpringBoot 之整合 thumbnailator 图片处理 1、序 在实际项目中,有时为了响应速度,难 […]...

  4. python

    1.计算机基础知识2.python基础3.垃圾回收机制、流程控制4.数据类型内置方法5.文件操作6.函数7.模块ATM+购物车项目8.面向对象9.网络编程10.并发编程11.MySQL数据库12.前端开发13.d...

  5. Web自动化测试 三 —– DOM对象和元素查找

    一、DOM对象 DOM(Document Object Model文档对象模型):将HTML的各种元素映射为J […]...

  6. EXCEl-数据透视表按照自定义序列排序

      用着感觉挺神奇,也有点奇怪,可能不是很懂里边的原理吧。最后,需要排序的列,应该在数据透视表首列才有效。 参 […]...

  7. MySQL(一)MySQL基本命令行操作

    MySQL基本命令行操作 概述 在SQLyog等可视化工具中,无需输入命令行即可进行操作,但在Linux中没有 […]...

  8. Web笔记(二)Tomcat 使用总结

    > **点赞**再看,动力无限。Hello world : ) 微信搜「[ **程序猿阿朗**](htt […]...

展开目录

目录导航