课堂课题:
什么是压测,为什么要进行压力测试?JMETER工具的使用
关联任务:
任务五
直播时间:
2018-11-11 18:30:00
课堂内容:
视频链接:
PPT链接:
提交按钮:
小课堂内容格式
标题:
【修真院xx(职业)小课堂】课题名称
开场语:
大家好,我是IT修真院XX分院第X期的学员XX,一枚正直纯洁善良的XX程序员,今天给大家分享一下,修真院官网XX(职业)任务X,深度思考中的知识点——XXX
(1)背景介绍:
背景介绍的时候,尽可能的要宽广,讲清楚来龙去脉,讲清楚为什么会需要这个技术。
(2)知识剖析:
讲知识点的时候,尽可能的成体系,学会成体系的去给别人介绍知识。现在很多做的都是零散的,没有分类。
(3)常见问题:
最少列出1个常见问题。
(4)解决方案:
写清楚常见问题的解决方案。
(5)编码实战:
尽可能的去寻找在真实项目中在用的。如果你能找到某个网站在用你说的知识点,这是最好的。学以致用,否则当成练习题就没有意义了。多准备一些demo,讲解过程中将知识点和demo结合,便于大家理解所讲解的知识点。
(6)拓展思考:
知识点之外的拓展思考,由分享人进行讲解,这些东西就是所谓的深度,也是一个人技术水准高低比较的表现。
(7)参考文献:
引入参加文献的时候,在引用的句子后面加上序号【1】。参考文献中列出详细来源。不要去抄别人的东西,这是一个基本的态度。
(8)更多讨论:
Q1:提问人:问题?
A1:回答人(可以是分享人,也可以是其他学员):回答
Q2:提问人:问题?
A2:回答人(可以是分享人,也可以是其他学员):回答
Q3:提问人:问题?
A3:回答人(可以是分享人,也可以是其他学员):回答
(9)鸣谢:
感谢XX、XX师兄,此教程是在他们之前技术分享的基础上完善而成。
(10)结束语:
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~
标题:
【修真院java小课堂】课题名称
什么是压测,为什么要进行压力测试?JMETER工具的使用
开场语:
大家好,我是IT修真院上海分院第10期的学员许东杰,一枚正直纯洁善良的java程序员,今天给大家分享一下,修真院官网java(职业)任务6,深度思考中的知识点——什么是压测,为什么要进行压力测试?JMETER工具的使用
(1)背景介绍:
压力测试:需要了解AUT(被测应用程序)一般能够承受的压力,同时能够承受的用户访问量(容量),最多支持有多少用户同时访问某个功能。
简单理解测试:
1、接口测试(功能测试):测试能否正确的发送请求并收到响应,测试功能,类似浏览器的开发者工具和postman。
2、压力测试(性能测试):在接口测试没有问题的前提下进行的测试,测的是同一时间最大能承受的访问量,通过多线程循环来进行模拟高并发访问。
jmeter:一款流行的开源压力测试工具, 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试
(2)知识剖析:
常用组件:
jmeter常用组件
1、用户线程组:场景的起始点,设置多少用户并发,什么时候开始跑,跑多久
一般用线程组
2、sampler(采样器):真正的请求的发出
一般使用http请求,选择跟随重定向
3、前置处理器:运行在sampler之前,多用于设置sampler,和更新从上一个响应获得的变量值
4、后置处理器运行在sampler之后,多用于对响应数据进行处理,可以设置统一解码的格式
5、配置元件:对samplers进行配置,避免重复内容
httpcookie管理(在功能测试中需要进行cookie清除)
http请求默认值(定义之后,在http请求中就可以不填了)
http消息头管理(配置作用域内的消息头信息)
用户变量:将常用的变量封装到里面,直接调用变量名
cvs Data Set Config文件数据导入的功能(参数化)
6、定时器:请求之间的暂停时间
7、控制器:进行请求之间的逻辑控制(常见的条件循环事物控制器)
8、断言:验证服务器返回的信息是否正确
9、监听器:收集到测试的信息,在组件中体现,用户可以对这些信息进行查看分析
常用的就2个
聚合报告:收集性能数据,列如平均的响应时间、每秒完成的请求的数量
查看结果树:主要查看请求数据和响应数据,判断请求报错原因
(3)常见问题:
内存溢出的问题,在linux系统上运行jmeter脚本时经常会提示内存不足
(4)解决方案:
在window下是在jmeter.bat文件中修改内存配置。linux是在jmeter.sh文件中。
-Xms512m -Xmx512m" in the JMeter batch file
(5)编码实战:
二、Jmeter报告
1、Aggregate Report 解析
Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为“聚合报告”。今天再次有同行问到这个报
告中的各项数据表示什么意思,顺便在这里公布一下,以备大家查阅。
如果大家都是做Web应用的性能测试,例如只有一个登录的请求,那么在Aggregate Report中,会显示一
行数据,共有10个字段,含义分别如下。
Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性
的值
Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里
显示100
Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller
时,也可以以Transaction 为单位显示平均响应时间
Median:中位数,也就是 50% 用户的响应时间
**90% Line:**90% 用户的响应时间
Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transact
ion Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
(6)拓展思考:
用jmeter代理服务进行脚本的录制
(7)参考文献:
百度、谷歌
(8)更多讨论:
Q1:jmeter的汉化问题
A1:在jmeter.properties中修改成中文,在配置文件45行左右加上language=zh_CN
Q2:jmeter测试的合格标准
A2:在linux系统上,200KB/Sec,每秒接收到的数据量
Q3:使用jmeter哪些会影响测试结果
A3:使用jmete先跑通接口测试,跑通之后吧一些不相关的控件组件进行关闭,例如查看结果树、不然是影响性能的
(9)鸣谢:
感谢朱明星师兄,此教程是在他们之前技术分享的基础上完善而成。
(10)结束语:
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~
[上海|荣耀师兄]JAVA-朱明星 发表于 2018-11-15 19:46:41 #1
90%Line指的是什么?聚合报告哪些参数比较较重要?平均时间有什么用?
回复