一、性能测试相关术语
1)负载:模拟业务操作对服务器造成压力的过程,比如模拟100个用户进行发帖。
2)性能测试(performance testing):模拟用户负载来测试系统在负载情况下,系统的响应时间、吞吐量等指标是否满足性能要求。 (一般我们的压测指的就是这种,即能否满足基本性能要求。)
3)负载测试(load testing):在一定软硬件环境下,通过不断加载负载来确定在满足性能指标的情况下能够承受的最大用户数。(根据cpu,mem,network,disk等使用情况,找出系统性能的拐点,给予生产环节规划建议)
4)压力测试(stress testing):在一定软硬件环境下,通过高负载的手段来使服务器资源处于极限状态,测试系统在极限状态下长时间运行是否稳定。(相当于测试服务器环境稳定性。)
5)稳定性测试(Endurance testing):在一定软硬件环境下,长时间运行一定负载,确定系统在满足性能指标的前提下是否运行稳定。(区别于压测在于,不比把系统资源调用到最高,在这满足基本性能指标即可。)
6)TPS:每秒完成的事务数,通常指每秒成功的事务数。(一个事务可以是一个操作,也可以是一些操作的集合。取决于你想测试的业务。)
7)RT/ART(Response Time/average Response Time):响应时间/平均响应时间。指一个事务花费多长时间完成。(通常ART更有意义,RT通常代表ART)
8)PV(Page View):每秒用户访问页面的次数。(此参数用来分析平均每秒有多少用户访问页面)
9)Concurrency 并发:并发分为狭义和广义两类。狭义的并发,即所有的用户在同一时刻做同一件事情或操作,这种操作一般针对同一类型的药物,或者所有用户进行完全一样的操作,目的是测试数据库和程序对并发操作的处理。
广义的并发,即多个用户对系统发出了请求或者进行了操作,但是这些请求或操作可以是不同的。(狭义并发强调对系统的请求操作是完全相同的,多适用于性能测试、负载测试、压力测试、稳定性测试场景;广义并发不限制对系统
的请求操作,多适用于混合场景,稳定性测试场景。)
10)思考时间(Think Time):模拟正是用户在实际操作时的停顿间隔时间。从业务的角度来讲,思考时间指的是用户在进行操作时。每个请求之间的间隔时间。(在脚本中应该体现为两个请求的间隔时间)
11)标准差(Std.Deviation):根据数理统计的概念得来,标准差越小,说明波动越小,系统越稳定;反之,代表不稳定。(考量对象:RT、TPS、load、CPU等等)
二、jmeter应用(体系架构)
Apache jmeter 是一个100%的纯java桌面应用,用于压力测试和性能测量。它最初被设计用于Web应用测试但后来扩展到其他测试领域。
jmeter下载安装请戳 https://blog.csdn.net/a13124837937/article/details/79628838
JMeter里面的元件很多,定时器,Sampler,监听器。元件就是工具菜单中的子菜单。
测试一个网站,我们至少需要:用户,发送请求,查看结果这三个过程。
测试计划要素:只有一个测试计划+至少一个线程组+至少一个取样器+至少一个监听器
1、有且只有一个测试计划
2、添加线程组(用户)[线程组]
在“测试计划”上右键,选择“添加”---“Thread Users”---“线程组”,一个线程代表一个用户
Ramp-up period: 每个请求发生的总时间间隔,单位是秒,循环次数(请求发生的重复次数)
如果我们需要JMeter模拟五个请求者(也就是五个线程),每个请求者连续请求两次
4、 添加请求[取样器]
我们要访问一个网页,比如是百度首页,则是http请求,则添加http请求,在线程组上右键---“添加”---“Sampler”---“HTTP请求
http请求的属性值中“Web服务器名称或IP”填写www.baidu.com就可以了
5 、 添加监视器(查看结果)
在线程组上右键---“添加”---“监视器”---“查看结果树”
6、最后点击运行
然后就可以看到结果了
那么问题来了~~~~~~
1、jmeter其它元件还有哪些,其作用,jmeter运行原理
2、jmeter脚本开发