一、性能测试概念
为什么进行性能测试?
性能测试:满足真实业务场景(活动场景)、支持大量的用户。满足商用要求
提升薪资
(1) 性能测试主要关注点
时间:系统处理用户请求的响应时间
资源:系统运行过程中,系统资源的消耗情况
(2)什么是性能测试
使用自动化工具,模拟不同的场景,对软件各项性能指标进行测试和评估的过程
在日常工作中,数据服务器和应用服务器一定是分开的
1. 后台处理程序的性能(代码性能)
2. 应用服务器、数据库、架构设计等是否存在瓶颈
3. 服务器资源消耗(CPU/MEM/Disk/NetWork)
(3)性能测试目的
评估当前系统能力 例如:鲁大师跑分、安兔兔跑分都是评估系统能力
寻找性能瓶颈,优化性能 例如:12306
评估软件是否能够满足未来的需求
问题:
什么是性能?
时间:系统处理用户请求的响应时间
资源:系统运行过程中,资源消耗情况
性能测试概念
要求:每次8人,运行时间40S
使用3年后
使用自动化工具,模拟不同的场景,对软件各项性能指标进行测试和评估的过程
性能测试目的
1、是否当前需求 评估当前系统能力
2、是否满足未来的使用需求
3、寻找性能瓶颈
(4)性能测试和功能测试区别
功能测试:验证软件系统功能是否满足产品功能需求规则,主要焦点在功能(正向、逆向)
性能测试:验证软件系统是否满足产品业务需求场景,主要焦点在业务上(时间,资源)
二、性能测试策略
(1)基准测试
为什么进行基准测试
狭义:单用户测试,测试环境确定后,模拟用户场景进行测试,获取单用户行时的测试数据。
广义:获取某个时刻的已知性能指标为基准线,之后我们的软件发生变化后在进行测试,第一次获取的
性能指标就是基准线。
用途:
---基准测试不会单独存在
---为多用户并发测试提供性能指标参考依据
---为软硬件发生变化的时候提供一个性能指标参考(提升/下降)
(2)负载测试
什么是负载测试 作用
逐步增加系统负载,确定在满足系统的性能指标情况下,找到系统所能承受的最大负载量。
系统最大负载量达到用户要求时,系统才能正式上线
(3)稳定性测试
稳定性是啥 作用
在服务器稳定运行(用户负载正常)的情况下进行长时间测试(
1天-1周-1月)并最终保证服务器满足
上线条件。
系统在用户要求的业务负载下运行到规定时间。系统才能上线
(4)并发、压力等等
压力测试在极限负载情况下导致系统崩溃,破坏性压力测试
高负载情况下长时间稳定性压力测试举例:
火车站买票,售票窗口30个 。
5个旅客同时买票,那么单位响应时间 20S,占用售票员5个。
15个旅客同时买票,那么单位响应时间20S,占用售票员15个。
30个旅客同时买票,那么单位响应时间20S,占用售票员30.
40个旅客同时买票,那么单位响应时间19S,占用售票员30.
100个旅客同时买票,那么单位响应时间增加了,占用售票员30.
1000个旅客同时买票,售票员自杀了(系统崩溃)
A-B 负载量增加,系统处理能力逐渐增加(轻压力区)
B-C 系统负载量增加(用户增加),处理能力不变(重压力区)
C-D 系统负载量增加,系统处理能力下降,(崩溃区)
并发测试概念
并发测试(绝对并发),指在极短时间内,发送多个请求,来验证服务器对并发的处理能力。
小结
基准测试
建立基准,系统环境软硬件发生变化后对性能的影响。不会单独存在。
负载测试
逐步增加负载量,找到满足系统性能的情况下的系统最大负载量
稳定性
三、性能测试指标
性能指标做用
对性能测试结果进行量化衡量
(1)响应时间
响应时间是什么
指的用户从客户端发起一个请求开始,到客户端收到从服务器端返回的结果。整个过程所消耗的时间
注意:这个时间不包括前端页面的渲染显示时间
什么是并发数
某一时刻同时向服务器发送请求的用户数
案例1 淘宝商城,注册用户5亿
不是并发,注册总用户数,占据的后台数据库的空间
案例2 当前登录的用户数为2000万
不能确定是否同一时间登录的
案例3 目前正在刷抖音的人是2亿
有请求就会有并发,同时在看短视频,同时发送很多请求
(3)吞吐量
什么是吞吐量
指的是单位时间内处理客户端请求的数量,体现了软件系统的承载能力
1、业务角度衡量
单位: 业务数/天 业务数/小时
2、从网络的角度衡量
单位: 字节数/小时 字节数/天
3、从技术角度来看
单位: 每秒事务数(TPS) 、每秒查询数(QPS)
QPS:每秒查询数,控制服务器每秒处理的执行的请求的数量
TPS:每秒事务数,控制服务器每秒处理的事务的请求数量
搜索操作---->发送搜索请求------>每秒最多处理25个QPS 25TPS
支付操作---->①查询账户余额请求 ② 校验支付安全请求 ③发送支付请求
服务器设定---每秒处理15个查询账户请求 15个支付安全请求 15个支付请求
问:服务器每秒钟执行的事务数是多少 支付TPS是15一个事务对应一个请求时: TPS=QPS
一个事务对应N个请求时:TPS =N*QPS
(4)点击数
点击数:客户端向服务器发送请求时,所有的页面元素(如:图片、链接、CSS、js等)
的请求总数量
只有web项目才这个指标
点击数不是网页上的一次单击次数
(5)错误率
错误率 系统负载情况下,失败的业务概率。错误率=(失败业务数/业务总数)*100%
(6)资源使用率
cpu不高于75-85%
内存不高于80%
磁盘IO 不高于90%
网络不高于80%
四、性能测试流程
问题:如果分配了测试任务,需要按照什么步骤来进行测试?
问题:使用不同的性能测试工具,我们的测试步骤一样吗?
(1)性能测试流程
1. 性能测试需求分析
①明确业务功能和技术架构
②明确测试内容
业务角度:关键性的业务功能
技术角度:测试逻辑复杂度高,数据量大
③明确测试策略
负载 稳定性 ……
④明确测试指标
有明确指标的直接参照进行对比
无明确 分析指标(查资料 经验 以及对未来的评估)
2. 性能测试计划及方案
①测什么
项目背景 测试目的 测试范围
②谁来侧
进度与分工 交付清单
③怎么测
测试策略
3. 性能测试用例设计4. 性能测试执行
建立测试环境---->硬件环境、软件环境、网络环境。一般情况需要运维和开发来配合。
编写测试脚本---->需要用的测试工具,编写测试脚本。
性能测试监控---->配置各项性能监控指标。例如:
执行测试脚本---->设定运行场景。收集各项指标。 注意:在执行测试脚本前一定要将自己的测试
脚本测试成功。
5. 性能分析和调优
6. 性能测试报告总结
测试报告的主要内容
测试工作的经过回顾
缺陷分析和调优
风险评估
性能测试结果
测试工作总结改进
五、主流性能测试工具
HP Loadrunner
工业级标准性能测试负载工具。可以模拟上万用户实施测试。在测试过程中获取非常
详细的性能报表以及各种服务器资源使用信息。用来寻找和确定系统瓶颈
支持多协议:
web(HTTP/html)windows sockets
ftp
ODBC
ms sql server
C语言开发的
优点:
多用于大型项目测试(单位以万级)
详细的报表(秒为单位)
支持IP欺骗
缺点:
收费
体积庞大(3-4G)
无法定制功能
JMeter
是有Apache组织开发的基于JAV开源软件。用于做性能测试最初只是用于web测
试,后来扩展到其他测试领域。
优点:
开源免费
小巧(<50M)
扩展组件和丰富的学习资料
缺点:
不支持IP欺骗
分析报表能力弱(分钟为单位)
六、JMeter
(1)启动方式
找到存放可执行文件和配置文件的文件夹(目录)
1. ApacheJMeter.jar
2. 双击jmeter.bat
3. 在命令提示符窗口通过命令"jmeter" 打开
(2)JMeter常用文件和目录
bin目录:存放可执行程序和配置文件
jmeter.bat ---windows启动文件
jmeter.properties---Jmeter配置文件
Jmeter.sh ---mac/linux 启动文件
Jmeter.log ----日志文件
Jmeter-server Linux分布式测试的启动程序
Jmeter-server.bat windows分布式测试的启动程序
docs 是Jmeter的api文档,用于开发扩展组件printable_docs 用户帮助手册
lib目录:存放Jmeter依赖的jar包和用户扩展所依赖的jar包(第三方插件)
(3)汉化及主题修改
临时起作用-----重启后失效
修改配置文件(jmeter.properites) 的language选项,修改为en是英文,修改为zh_CN是中文简体
(4)元件和组件
什么是元件
多个类似功能组件的容器(类似于类)取样器--->发送请求
逻辑控制器--->控制语句的执行顺序
前置处理器--->对请求参数进行预处理
后置处理器--->对响应结果进行提取
断言--->检查接口的返回结果与预期结果是否一致
定时器---> 设置等待时间
测试片段--->封装一段代码,供其他脚本调用
配置元件--->测试数据的初始化配置
监听器--->查看Jmeter脚本的运行结果
什么是组件
实现独立的某个功能(类似于方法)
元件与组件的关系
元件:多个类似功能组件的容器(类似于类)
组件:容器中实现某个功能(类似于方法)
元件包含组件
(5)作用域
所有的组件都是以取样器为核心来运行的,组件添加的位置不同,生效的取样器不同
取样器:是核心,不和其他元件相互作用,没有作用域
逻辑控制器:只对其子节点中的取样器和逻辑控制器起作用
其他元件:
如果某个取样器的子节点,则该元件只对其父节点起作用
如果其父节点不是取样器,则其作用域是该元件父节点下的其他所有后代节点(包括子节点,子节点
的子节点等)
(6)元件的执行顺序
同一个作用域下不同类型元件的执行顺序(1是最高的 7是最低的)
1. 配置元件--对数据做初始化
2. 前置处理器-->请求参数进行处理
3. 定时器--->
4. 取样器-->发送请求
5. 后置处理器-->
6. 断言
7. 监听器
不同作用域下执行顺序
按照在测试计划中从上到下依次执行
第一个JMeter脚本
1. 启动Jmeter
2. 在"测试计划"下添加"线程组"
3. 在"线程组"下添加"http请求"取样器
4. 填写"http请求"的相关请求数据
5. 在"线程组"下添加监听器"查看结果树"
6. 点击启动
(6)线程组
线程组作用
控制Jmeter用于执行测试的一组用户
线程组的特点
模拟多人操作 模拟用户:支持多用户操作
线程组可以添加多个,多个线程组可以并行或串行
取样器(请求)和逻辑控制器必须依赖线程组才能使用
线程组下可以添加其他元件下的组件
(7)线程组的分类
线程组
普通的、常用的线程组,可以看做一个虚拟用户组,线程组中的每一个线程都可以理解为一个虚拟用户
setup线程组
是一个特殊类型的线程组,可用于执行预测试操作,前置处理,初始化
teardown线程组
一个特殊类型的线程组,可用于执行测试后工作,后置处理,环境恢复等线程组的执行顺序,setup>线程组>teardown
(8)线程组参数
线程数:就是虚拟用户数
ramp-up时间:全部虚拟用户启动所需要的时间
循环次数:永远表示一直运行
持续时间:一般用于稳定性测试,给出一个时长,虚拟用户不断执行操作
启动延迟:一个测试计划下有很多个线程组,每个线程组作用不一样,所以需要设置线程组的启动
时间。例如:下订单操作前需要登录,所有下订单线程组就需要设置等待时间,等登录操作完成后
再进行下订单操作。
案例1:模拟10个用户并行执行访问百度
案例2:模拟10个用户在5S内完成访问百度

 案例3:模拟2个用户个循环3次

案例4:模拟2个用户运行30S案例5:模拟2个用户,等待10S后再运行

作业:模拟2个用户循环3次和模拟3个用户循环两次,总结相同点&不同点
自己测试模拟2W用户和3W用户
(9)http请求
作用:向服务器发送http请求
位置:略
参数:
协议:http(默认)/https
服务器名称或IP:请求目标服务器地址
端口号: tcp端口号
方法:GET/post
路径:在域名和端口的后面 即URL的后面部分
参数: get(URL路径中传参)
post(请求体)
消息体数据 ---> post
案例1:get请求 URL为http://www.baidu.com/S?wd=test
案例2:get请求 URL为http://www.baidu.com/S?wd=test 要求使用参数列表传传递
案例3:POST请求,URL为https://www.baidu.com/S,请求体为wd=test(form
表单)要求:使用http请求参数列表传递post请求的form格式参数
案例4:POST请求,URL为http://www.baidu.com/S 请求体为wd=test(form表
单),要求使用http请求消息体数据来传递POST请求的form格式参数
注意:路径使用/s的时候会出现子请求,原因百度就这么规定的
(10)查看结果树
作用:查看HTTP请求的请求和响应结果
位置:略
组成:
取样器结果:查看响应信息头详细内容、响应状态码
请求:查看请求相关信息(url、方法、参数)
响应:查看响应信息
注意:如果响应信息出现了乱码
解决方案:打开Jmeter配置文件,找到sampleresult.default.encoding=utf-8,把#去掉
课后作业
第5题:
关于元件作用域,描述正确的是:()
A、Jmeter元件的作用域是靠测试计划的树形结构中元件的父子关系确定的B、逻辑控制器对其子节点
中的取样器和逻辑控制器起作用
C、除取样器和逻辑控制器元件外,如果元件的父节点为取样器,则对取样器下的所有后代节点起作用
D、除取样器和逻辑控制器元件外,如果元件的父节点不是取样器,则只对父节点起作用
第6题:
关于元件执行顺序,描述正确的是:()
A、在同一个作用域下,不同元件的执行顺序是:配置元件—前置处理器—定时器—取样器—后置处理
器—断言—
监听器
B、在同一个作用域下,相同元件的执行顺序是:随机执行C、前置处理器中如果有赋值操作,即使没有取样器,也能够正常执行
D、在不同作用域下,相同元件的执行顺序是:按照从上到下的顺序依次执行
第7题:Jmeter第一个案例
1)使用Jmeter编写脚本,请求百度首页,查看结果
第**8题:线程组
1)使用3个线程组,每个线程组分别发送一个HTTP请求(百度、京东、sohu),控制这3个线程组
并行执行、
串行执行。
2)使用5个线程组,每个线程组分别发送一个HTTP请求(百度-setup、京东-teardown、sohu、
sina、 taobao),分别控制并行执行、串行执行,观察结果。
3)使用1个线程组,添加HTTP请求(百度)
配置线程数为1时,运行观察结果
配置线程数为10时,运行观察结果
配置线程数为10,且Ramp-Up时间为5时,运行观察结果
4)使用1个线程组(线程数为1),添加HTTP请求(百度)
配置循环次数为1时,运行观察结果
配置循环次数为10时,运行观察结果
配置循环次数为永远,且调度器中的持续持续为30秒时,运行观察结果
5)使用1个线程组,添加HTTP请求(百度)
配置线程数为2,循环次数为3时,运行观察结果
配置线程数为3,循环次数为2时,运行观察结果,对比不同
第9题:HTTP请求
1)使用1个线程组,添加HTTP请求(百度),路径为:/S
使用HTTP协议,GET请求方法,路径中添加参数为: wd = test,运行观察结果(参数在URL中)使用
HTTPS协议,GET请求方法,路径中添加参数为: wd = test,运行观察结果(参数在参数列表中)
使用HTTPS协议,POST请求方法, 消息体数据中添加参数为: wd = test,运行观察结果(参数在参数
列表 中)
使用HTTP协议,POST请求方法,消息体数据中添加参数为: wd = test,运行观察结果(参数在消息体
中)
第10题:查看结果树
1)修改配置文件,解决Jmeter响应中的中文乱码问题
(11)Jmeter参数化
为什么要用参数化
例如:访问一个请求1W次,要求每次发送不同的参数,该怎么办
定义:把测试数据组织起来,用不同的测试数据调用相同的测试方法
本质:使用参数的方法来替代脚本中固定的测试数据Jmeter中常见的参数化方式:
用户定义的变量 (最基础的) 在定义全局变量的时候用
用户参数 (所有的测试数据做固定化)
CSV data set confifig --->csv文件 数据库文件(灵活)
函数 (灵活)
创建用户定义的变量步骤
用户参数
作用:针对同一组参数,当不同的用户来访问时,可以获取不同的值4
位置:测试计划-->线程组-->前置处理器-->用户参数
案例:模拟4个用户,给www.baidu.com发送请求
要求:第一个用户请求附带参数,姓名:zs 密码123
第二个用户……
1. 添加线程组,设置线程数为4
2. 添加用户参数
3. 添加HTTP请求
4. 添加查看结果树
csv数据文件设置
作用:让不同用户在多次循环时,可以获取到不同的值
位置:测试计划-->线程组-->配置元件-->csv数据文件设置
案例:请求http://www.baidu.com - 请求3次,每次请求时带的参数user,pw,
code的值不同
1. 定义一个csv的数据文件
2. 添加线程组,设置循环3次
3.http请求
4. 添加"csv数据文件设置"组件
5. 添加查看结果树
函数(_counter)参数化
作用:计数函数,一般做执行次数统计使用
位置:在菜单中-->选项-->函数助手对话框
案例:生成一个技术函数,模拟2个用户循环3次
1. 设置一个函数,复制函数
2、将函数粘贴到http请求的位置上
作业:某支付系统,需要用1W个不同的用户登录,并使用添加不同的测试金额数据
访问支付接口?
使用 csv文件
总结:
什么是参数化,常用的参数化有几种
同上
每种参数化方式有什么不同,如何选择适当的方式呢
用户定义变量
作用:定义全局变量
局限性:每次取值都是固定的,模拟多个用户但是访问同样的url情况
csv数据文件设置:
用户参数:
作用:保证不同的用户针对同一组参数,可以取不同的值
局限性:同一个用户不管循环几次,值都是不变的
函数:
课上作业
1)用户定义的变量
请求:https://www.qq.com:443/S ,要求:使用用户定义的变量配置被测系统的协议、域名和端口
使用配置元件中—用户定义的变量,进行配置
使用测试计划中—用户定义的变量,进行配置
(2)请求:http://www.jd.com/S ,要求:第一次请求附带参数:name="张三"&age=28;第二次请求附
带参数: name="李四"&age=30
配置线程数为2,循环次数为1时,运行观察结果配置线程数为2,循环次数为3时,运行观察结果
配置线程数为3,循环次数为2时,运行观察结果,对比不同
3)CSV 数据文件设置
请求:http://www.baidu.com/S 要求:循环多次,每次请求时附带参数username,password,code的值
不相同
CSV文件配置6组值,配置线程数为2,循环次数为3时,运行观察结果
CSV文件配置6组值,配置线程数为3,循环次数为2时,运行观察结果
(12)Jmeter断言
手工执行用例,可以通过视觉可观察到结果,如果使用自动化工具替代手工,如何判定用例是否
通过?
断言
定义:让程序自动判断预期结果与实际结果是否一致
注意:
JMeter在请求的返回层面有个自动判断机制(响应状态码)
但是请求成功,并不代表结果一定正确。因此需要监测机制提高测试准确性,
例如:返回状态码为200 表示处理成功,但是结果是否正确(是不是符合预期效果)
JMeter中常用断言:
响应断言 ---> 任何响应数据
json断言 --->
持续时间断言--->性能测试 (资源、时间) 主要用于看我们的响应时间是否超过用户需求的时间
响应断言
作用:对http请求的任意格式的响应结果进行断言
位置:测试计划--->线程组--->http请求--->断言--->响应断言
参数
测试字段:
响应文本:来自服务器的响应文本,即主体
响应代码:响应状态码 ,例如 200
响应信息:响应的信息:例如 ok
response headers :响应头部
request headers:请求头部
rquest data:请求数据
URL样本:请求的URLDocument(text):响应的整个文档
忽略状态:忽略返回的响应状态码 例如测试异常用例,返回结果一定是错误的,JMeter就判断为
错误,所以需要忽略
模式匹配规则:比较方式
包括:文本包含指定的正则表达式
匹配:整个文档匹配指定的正则表达式
Equals(等于):整个返回结果的文本等于指定的字符串(区分大小写)
substring(包含):返回结果的文本包含指定字符串(区分大小写)
否:取反
或者:如果存在多个测试模式,勾选或者模式(只要有一个模式匹配成功,则断言就是OK的)
注意:equals substring模式是普通字符串而包括和匹配模式则是正则表达式
测试模式:预期结果
案例:请求 https://www.baidu.com 检查:让程序检查响应数据中是否包含"百度一下,你就知
道"
1. 添加线程组
2. 添加http请求
3. 添加响应断言
4. 添加查看结果树
断言持续时间
作用:检查http请求的响应时间是否超出要求范围(预期效果,用户需求时间)
位置:测试计划-->线程组--->http请求--->断言--->断言持续时间
持续时间:http请求允许最大响应时间(单位 ms)超过则判断失败
1)响应断言
请求:http://www.baidu.com ,检查:让程序检查响应数据中是否包含“百度一下,你就知道”,响应
码为200
2)JSON断言 请求:http://www.weather.com.cn/data/sk/101010100.html ,检查:让程序检查响
应的JSON
数据中,city对应的内容是否为“北京”,响应码为200
3) 断言持续时间请求:https://www.jd.com 检查:让程序检查响应时间是否大于500毫秒
Json断言
作用:对HTTP请求的JSON格式的响应结果进行断言
参数:
Assert jSON path exists:用于断言的json元素路径(实际结果)
Additionally assert value:根据返回值生成断言。
match as regular expression:使用正则表达式断言
Expected value:希望结果(期望值) 预期效果
expect null:如果希望结果为空,选择
invert asserion…… :反转断言(如果以上条件满足则结果为失败)
案例:JSON断言 请求:http://www.weather.com.cn/data/sk/101010100.html ,检查:让程序检查响应的JSON数据中,city对应的内容是否为“北京”,响应码为200
(13)JMeter关联什么关联(定义):
当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这个时候需要用到关联处理
Jmeter中常用的关联方法:
正则表达式 是一个公式可以匹配任意字符串
Xpath提取器 提取html格式的响应数据
JSON提取器 只能提取json格式的响应数据
正则表达式
格式:左边界(匹配符号[* . ?])右边界
匹配符号:
.:表示任意字符除了换行和回车
*:前面字符出现了任意次
?: 找到左边界以后,向右查找匹配右边界,只要匹配到右边界就停止查找。
正则表达式案例1 找出
正则表达式提取器参数(0表示随机数,-1表示所有数字)
<!DOCTYPE html>
<!--STATUS OK--><html> <head><title>百度一下,你就知道</title><meta http-
equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-
Compatible content=IE=Edge><meta content=always name=referrer><link
rel=stylesheet type=text/css
href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知
道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div
class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg>
<img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270案例:
1、请求:http://zaizhuo.cn 获取titile值
2、请求:http://www.baidu.com 把读取的title作为请求参数
XPath提取器
作用:针对html格式的响应结果数据进行提取
参数
案例:JSON提取器
作用(使用场景)
针对jSON格式的响应数据,可以使用此提取器来进行提取
参数:
案例:
Jmeter属性(跨线程组数据传递)
作用:需要实现跨线程组的数据传递时,可以使用Jmeter属性
_ setproperty 和 _property 生成全局变量 设置全局变量案例:1.线程组1 请求获取天气接口www.weather.com.cn/data/sk/101010100.html,获取返回结果
中的城
市名称"XX"
2、线程组2 请求https://www.baidu.com/s?wd=xx ,获取到的城市名称作为请求参数
操作步骤:
1. 添加线程组1
2. 添加http请求
3. 添加json提取器4. 使用函数生成全局变量 (首先在json提取器执行函数setproperty,再在第二个http请求中添加函数
property)
5. 添加 BeanShell 取样器(将json提取器结果的值保存到JMeter属性里面)
6. 添加线程组2
7. 添加请求http-百度(读取Jmeter属性)
8. 添加查看结果树
(14)Jmeter录制脚本
添加一个http代理服务器
添加一个线程同时设置windows代理服务器
补充知识
http常见响应状态码
200 表示请求成功,服务器接受了我们的请求需要下一步处理
202 服务器接受了请求,但是尚未处理
302 临时移动 给我们一个新的url 我们重新去访问这个url
403 服务器拒绝请求
404 服务器找不到请求的网页。服务器接受了请求,但不给任何返回信息 408 请求超时
503 服务器目前不可用(在维护 掉线了)
504 网关超时
505 服务器不支持请求中所用的http协议
补充:
1-65535
http 80
https 443
ssh 22
ftp 21
tomcat--java中间件 8080
mysql 3306
URL:统一资源定位符
http://mail.qq.com:80/XXX
http:// 表示使用什么协议
mail 主机名
qq.com 域名
:80 表示web端口
/xxx 路径
nslookup: 域名解析
http协议详解 json详解

性能测试-----基础知识相关推荐

  1. 柠檬班性能测试day3_性能测试基础知识(0521)

    1.性能测试:通过使用工具模拟一定量的并发用户数,向服务器发起请求,来获得性能指标. 2.负载测试:逐步增加并发用户数,获得最大并发用户数的拐点区间.拐点区间的判断:(几分钟) a.有没有报错(未报错 ...

  2. web性能测试基础 知识(引用)

    1.1基本概念 并发用户:用户并发一般发生在使用比较频繁的模块中,而且遇到异常通常都是程序的问题. 用户并发数量:在线用户数量是计算并发用户数量的主要依据之一.=使用系统的用户数量*(5%~20%) ...

  3. 性能测试基础知识(一)

    性能测试的分类 性能测试的类型通常包括如下几类: 性能测试:寻求系统在正常负载下的各项性能指标,或者通过调整并发用户数,使系统资源的利用率处于正常水平时获取到系统的各项性能指标. 负载测试:系统在不同 ...

  4. 做性能测试必须了解的性能测试基础知识

    一.什么是性能测试 什么是性能测试,这是对于很多人来说是模糊的,我们来看下百度百科的答案. 性能测试是通过自动化的测试工具模拟多种正常.峰值以及异常负载条件来对系统的各项性能指标进行测试.负载测试和压 ...

  5. 误码性能测试基础知识

    误 码 性 能 随着信息化步伐的加速,数字通信正全方位的改变我们传统的通信方式以及通信质量.无论是何种新业务的推出和运营,都离不开强有效并且高可靠的传输来保证.随之而带来的问题就是如何对系统的传输质量 ...

  6. JMeter性能测试的基础知识和个人理解

    JMeter性能测试的基础知识和个人理解 1. JMeter的简介   JMeter是Apache组织开发的开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方面做的比较成熟,因此,常 ...

  7. 电商软件性能测试,实战 | 电商业务的性能测试(一): 必备基础知识

    原标题:实战 | 电商业务的性能测试(一): 必备基础知识 1. 测试步骤及模型分析 1.1 测试步骤总览 需求分析与测试设计(性能需求目标+业务模型拆解) 测试数据准备和构造(基于模型的数据准备) ...

  8. 性能测试之前端性能优化(前端基础知识,前端性能测试常用工具,前端性能优化常见方法)

    目录 1. 前端基础知识 1.1 为什么要关注前端页面的性能,了解页面的加载,渲染方式和顺序? 1.2 一次页面请求会经历哪些步骤? 1.3 页面的展示过程 2. 前端性能测试的常用工具 2.1 Go ...

  9. 性能测试入门基础知识总结

    性能测试基础 进行性能测试,我们需要关注性能测试的哪些方面,如果能回答出以下几个问题(5W),我们就基本入门性能测试了,然后就需要我们通过实践,运用这些性能知识理论去为实践服务,帮助我们更好的检查和定 ...

最新文章

  1. java 窗体隐藏和关闭_java JFrame窗体真正关闭
  2. GPT-3获NeurIPS 2020最佳论文奖,苹果华人学者获经典论文奖
  3. 博为峰Java技术文章 ——JavaSE Swing列表框选取事件的处理
  4. 怎样做网络推广浅谈如何更高效的提升关键词排名?你还不知道?
  5. 如何导入任何JBoss BRMS示例项目
  6. kafka生产者消息分区策略
  7. 2012021401
  8. linux 分区 flags,linux磁盘分区
  9. 对我来说,只有一件事情是重要的
  10. java equals 的区别_Java中equals和==的区别
  11. ## python爬取MM131整站图片到本地
  12. android刷机教程 华为,华为Mate20X 刷机教程 华为Mate20X 强刷升级教程
  13. SP 梦网masterSP模式下的sp生存
  14. python语言创始人中文名_十大编程语言创始人,看看有没有你在用的语言?
  15. 【CVPR2020】Designing Network Design Spaces
  16. 日置HIOKI PW3198电能质量分析仪
  17. 智课雅思词汇---二十五、形容词后缀-ate-fic-ose-ulent-olent-ous-ulous-y
  18. ROS1云课→16机器人模型从urdf到xacro
  19. Excel 2010 多个窗口独立同屏显示方法——修改注册表方法
  20. 【JPA】记录JPA批量处理的优化

热门文章

  1. Java自定义模板设计
  2. “守法规知礼让、安全文明出行”背后需要良好的交通环境支撑 | 聚焦守法知礼...
  3. Verilog四位全加器
  4. ps水花飞溅效果制作
  5. 细说设计模式七大原则(7):合成复用原则
  6. html边框是啥意思,css中border是什么意思
  7. Java学生签到考勤请假系统源码
  8. Honeywell RTU2020使用.软件篇
  9. 程序员才懂的58张图片,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
  10. k8s client-go 出现错误net/http: TLS handshake timeout