Jmeter、badboy性能测试

Jmeter、badboy测试

  1. 常规使用badboy进行录制
  2. file→export to Jmeter
  3. 查看结果树
  4. 参数化(借助函数助手)
    1. 用记事本写了五个用户名和密码,保存为.dat格式的文件
    2. 借助与函数助手    选项→函数助手对话框
    3. 选中需要参数化的http请求,添加相关信息
  5. 参数化(借助jmeter中的配置原件)
    1. 选中线程组,点击右键,添加-配置元件-CSV Data Set Config
    2. 设置csv数据文件设置
    3. 点击需要设置参数化的http请求,输入内容
  6. 检查点
    1.  找到你需要添加的断言
    2. 断言结果一般只会显示一行,如果多出一行则表示断言失败.
  7. 集合点简单来理解一下,虽然我们的“性能测试”理解为“多用户并发测试”,但真正的并发是不存在的,为了更真实的实现并发这感念,我们可以在需要压力的地方设置集合点,拿那个用户和密码的地方,每到输入用户名和密码登录的地方,所有的虚拟用户都相互之间等一等,然后,一起访问。
    1. JMeter里面的集合点通过添加定时器来完成。  注意:集合点的位置一定要在Sample之前.
    2.  设置一下集合点集合数(一般集合点设置跟虚拟用户数成正比)
    3. 集合点的位置应该在登录、注册、等
  8. 事务
    1. 添加事务控制器
    2. 将需要获取的请求集放到一个事务中,如:仅需要登录的请求集,将登录那一些请求集放到一个事务当中.
  9. 关联
  10.  线程组右键添加聚合报告(聚合报告的详解) 
    1. 对于每个请求,它统计响应信息并提供请求数,平均值,最大,最小值,错误率,大约吞吐量(以请求数/秒为单位)和以kb/秒为单位的吞吐量.
    2.  吞吐量是以取样目标点的视角来统计的(例如:HTTP请求样例中设置的远程服务器). JMeter会把已生成请求的总响应时间考虑在内,所以,如果相同线程组中有其它取样器或定时器,将增加总时间,进而减少吞吐量的值。因此,两个仅名称不同的取样器,其吞吐量为该两个取样器吞吐量总和的一半。正确的选择取样器名字对于重聚合报告中获取最佳的结果来说很重要。个人理解:不管是否有其它取样器还是定时器,这里主要是基于时间和请求数的计算,吞吐量= 请求数/总时间,拿定时器来说,它具有线程延迟功能,不增加请求数的情况下,增大总时间,自然    吞吐量就减少了。实验证明每次运行一次,每次手动运行,且每次运行前不清空结果,运行测试,查看聚合报告显示。因为手动运行,每两次运行期间,都有空闲期,在这段空闲期有时候还比较长,几分钟到几十分钟不等。结果发现,聚合报告是累加的,即每次运行的结果统计都是基于前一次运行的结果进行统计,包括发起的请求样本数等都是叠加的,比如我11:00运行一次,发起10个请求,11:20运行一次,发起10个请求,这时聚合报告显示请求数为20个,而此时的吞吐量和第一次运行相差甚远,个人猜测它把11:00到11:20期间非运行状态的时间也算进去了。所以,总时间大大增加。 
    3. 不勾选“标签中不包含名称(include group name in label)”复选框
    4. 使用聚合报告时,测试计划中不要用相同的的请求取样器名称
  11. 表头说明
    1. label在不勾选"Include group name in label?"复选框的情况下,为请求取样器的名称,否则为“请求取样器所在线程组:请求取样器名称”
    2. Samples - 用同一个请求取样器,发送请求的数量(注意:该值是不断累计的)。比如,10个线程数设置为10,迭代10次,那么每运行一次测试,该值就增加10*10=100
    3. Average - 默认情况下是单个Request的平均响应时间,当使用了Transaction Controller 时,也可以以Transaction为单位显示平均响应时间
    4. Median - 中位数。表示响应时间本不大于该时间值的请求样本数占总数的50%
    5. 90% Line - 表示响应时间不大于该时间值的请求样本数占总数的90%
    6. Min - 针对同一请求取样器,请求样本的最小响应时间
    7. Max - 针对同一请求取样器,请求样本的最大响应时间
    8. Error % - 出现错误的请求样本的百分比
    9. Throughput - 吞吐量以“requests/second、requests /minute、requests /hour”来衡量。 时间单位已经被选取为second,所以,显示速率至少是1.0,即每秒1个请求。 当吞吐量被保存到CVS文件时,采用的是requests/second,所以30.0 requests/second 在CVS中被保存为0.5
    10. Kb/sec - 以Kilobytes/seond(每秒字节数)来衡量的吞吐量
  12. 注意:
    1. 无特别说明,以上时间的单位均为ms
    2. 请求响应时间指的是从client端发出请求到得到响应的整个时间
  13.  jmeter导出报告命令

    jmeter -n -t F:\JmeterScripts\Script10.jmx -l add -e -o F:\jmeterContent    jmeter脚本的全路径,报告名,报告的路径

猜你喜欢

转载自www.cnblogs.com/wp950416/p/12191145.html