jmeter性能测试聚合报告分析

1.Thread Group

取样器错误后要执行的动作

继续:遇错误继续执行,不影响场景运行,默认为继续,常用

Start Next Thread Loop: 执行下次循环,当前循环剩余sampler不再执行

停止线程:停止当前线程,其他线程继续执行

停止测试:执行完剩余线程后停止测试

Stop Test Now:立即停止所有线程

线程属性

线程数:即并发数

Ramp-Up Period(in seconds): 并发用户加载时间,如设置为1s, 则在执行时1s内要加载100个并发数

循环次数/永远:填写具体数字,即为并发执行次数,一次场景下来,请求的数量=线程数*循环次数;选择永远,则一直执行下去,除非手工停止

Delay Thread creation until needed: 延迟线程创建,直到需要时才创建

调度器:勾选后,调度器配置项设置生效,可设置场景持续执行时间、延迟启动时间、启动时间、结束时间

持续时间:场景持续执行的时间

启动延迟:延迟多久执行

启动时间:控制场景什么时间执行,一般晚上执行的时候设置。如果当前时间大于启动时间,则启动后立即执行;如果当前时间小于启动时间,则启动后等待到启动时间才执行。

结束时间:控制场景什么时候结束。如果启动时间或当前时间大于结束时间,运行后立即停止;如果当前时间小于结束时间,运行后到达结束时间则立即结束

    2.监听器

查看结果树

Summary Report:与聚合报告类似,为每一个请求创建一个表行,但是使用更少的内存

断言结果: 消耗大量CPU,性能测试的时候不建议用这个

图形结果: 消耗CPU, 性能测试不建议用


 

CPU和内存的关系:

CPU:负责运算和处理,内存是交换数据的。

当程序或者操作者对CPU发出指令,这些指令和数据暂存在内存里,在CPU空闲时传递给CPU,CPU处理后把结果输出到输出设备上,输出设备就是显示器、打印机等。逻辑顺序大概是:内存>CPU>输出设备(显示器、打印机)。如果没有输出完之前,数据也保存在内存里,如果内存不足,那么系统自动从硬盘上划分一部分空间作为虚拟内存来使用,但是虚拟内存的写入写出跟屋里内存来比差的很远很远,所以,内存不足的时候回感到机器反应很慢,硬盘一直在响。

例如:1.  512M的物理内存如果增加到2G, 会感觉到电脑运行突然变得飞快。 但内存512,即使是把CPU从单核换成双核,加速感觉也不明显。

          2. 如果你本来就有2G内存,再增加2G,使用起来几乎没有多少变化, 因为在理论上,物理内存太大反而会减慢速度,因为它增加了寻址的时间,一般家用2-4GB足矣。。

 


线程和进程的区别:

  1. 进程:是执行中一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。进程表示自愿分配的基本概念,又是调度运行的基本单位,是系统中并发执行的单位。

  2. 线程:单个进程中执行每个任务就是一个线程。线程是进程中执行运算的最小单位。

  3. 一个线程只能属于一个进程, 但是一个进程可以拥有多个线程。多线程处理就是允许一个进程中在同一时刻执行多个任务。

  4. 线程是一个轻量级的进程,与进程相比,线程给操作带来侧创建、维护和管理的负担要轻,意味着线程的代价和开销比较小。

  5. 线程没有地址空间,线程包含在进程的地址空间中。线程的上下文只包含一个堆栈,一个寄存器,一个优先权,线程文本包含在他的进程的文本片段中,进程拥有的自愿都属于线程。所有的线程共享进程的资源和内存,同一个进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。但是每个线程拥有自己的栈段,寄存器的内容,斩段又叫运行时段,用来存放所有局部变量和临时变量。

  6. 父子进程使用进程间通信机制,同一进程的线程通过读取和写入数据列进程变量来通信。

  7. 子进程不对任何其他子进程施加控制,但进程的线程可以对同一进程内的其他线程施加控制,子进程不能对父进程施加控制,进程中所有线程都可以对主线程施加控制。

线程和进程的相同点:

进程和线程都有ID/寄存器、状态和优先权,信息快,创建后都可更改自己的属性。都可与父进程共享资源,都不可以直接访问其他无关的进程或线程的资源

你可能感兴趣的:(jmeter性能测试聚合报告分析)