zoukankan      html  css  js  c++  java
  • 性能测试工具--Jmeter

    JMeter有严格作用域。

    Jmeter中所有登录都需要在HTTP请求前加上HTTP cookie管理器。

    全局变量,作用于全局。用${}进行调用。

    1.参数化

    1) 随机值:选项→函数助手对话框(Random、Random_String)

    2) 固定值:HTTP请求→添加→配置元件→CSV Data Set Config(值的传递 ${})

    Sharing mode:参数化取值策略

    All threads 唯一+每次迭代

    Current thread group 基于每个线程组下的唯一+迭代取值(不同线程组是顺序取值,一个线程组是唯一取值)

    Current thread 顺序+每次迭代

    如果多线程之间值是重复的,那么就是顺序,每个线程之间没有重复,就是唯一。

    1. jmeter手动停止,最后一些请求会出现失败。

    一定是这样,因为一些请求是在发送状态,还没有收到请求的响应,按停了,就没有办法收到响应了。

    2.关联:放在请求后

    左右边界是中文的略过。

    正则表达式的元符号:

    .* 匹配前面的子表达式0次或多次,基本上如果左右边界取的没问题,那么用.*一定能匹配到。

    .+ 匹配前面的子表达式1次或多次

    .? 匹配前面的子表达式0次或者1次,取一次没有取到,就不取了。

    3.断言(检查点)

    线程组→添加→断言→响应断言

    模式匹配规则,默认选择包括即可。

    测试过程一定要加断言,检查请求是否成功。

    断言结果:可以知道断言结果是成功还是失败

    4.思考时间

    添加→定时器

    添加→定时器→高斯随机定时器

    5.集合点,放在操作之前

    添加→定时器→Synchronizing Timer

    6.事务

    线程组→添加→逻辑控制器→事务控制器

    7.响应时间RT

    线程组→添加→聚合报告

    Jmeter只有单个请求的响应时间,加了事务控制器,把多个请求放在同一个事务控制器下,统计出多个事物的平均响应时间。

    8.重定向

    自动重定向:只记录最后跳转请求,不记录cookie和header;

    跟随重定向:会记录跳转请求的cookie和header,记录整个过程,过程请求为sub-sampler

    1)DB

    主从库读写分离 主库(所有写操作在主库) 从库(所有读操作在主库) 主从数据同步(二进制日志文件进行同步)

    主从库解决不了大数据问题,故目前的技术是拆库分表(主从结构)一个库拆成多个库,一张表拆成多张表,还是读写分离的模式,只是数据拆分到了不同的表里。

    9.JAVA请求总是有一些不稳定现象。

    1) 比如一个买入操作,在页面上通过F12看买入成功的时间,通过LR模拟买操作。。。两者响应时间不一样是什么原因,LR两秒多,页面不到一秒?单用户操作时有可能加入思考时间,或者加入其它请求时间并发时间是平均值时间。这样是不正常的,有可能LR把其它的请求时间也加进去了,但是不会超过一倍的。如果不包括思考时间和其它请求时间,应该是一样的。这里只的是单用户操作的时候。

    2) Jmeter和LR哪个比较靠谱些。。。。。两种软件发请求。。。他俩最后得到的数据差别大不大

    3) LoadRunner结果靠谱,正常来说lr的响应时间一定会比jmeter时间短些,因为LR是C写的,jmeter是用java写的,java有一个java虚拟机,Java虚拟机是java的一个核心,jvmjmeter内存满了以后,jmeter会回收内存。会把不要的内存回收掉,这样才能让新的请求不断运行,因为新的请求会产生新的对象,新的对象要往内存里面放,如果内存满了会放不进去,在垃圾回收的时候,GC会占用jmeter的线程。

    4) 小规模并发的时候jmeter时间会短一些,怀疑是有些请求没有成功,所以在以后测试时一定要加检查点,用来判断有没有成功。大规模并发的时候jmeter比LR响应时间会长

  • 相关阅读:
    iOS:图片相关(19-05-09更)
    iOS:文字相关(19-01-08更)
    iOS:通信录(完成)(18-01-18更)
    Swift 中的Closures(闭包)详解
    Swift 中的高阶函数和函数嵌套
    Swift API设计原则
    Swift下CoreData的使用
    iOS 使用贝塞尔曲线绘制路径
    iOS CALayer使用
    iOS 多线程的使用
  • 原文地址:https://www.cnblogs.com/wangguoyuan-09/p/7832428.html
Copyright © 2011-2022 走看看