现象:

使用jmeter做接口压测时,总会遇到压测时,提示不允许重复id或提示订单不允许重复现象,那么如何解决呢?

原料工具

  • jmeter4.0
  • 本地准备好接口服务

思路:

  • 单个接口,小批量接口,一般以时间戳或者是日期格式的数据作为接口测试参数,解决参数化问题;
  • 大批量接口压测时,这上面的时间戳方式是不行的,秒级请求或者毫秒级别的请求不能满足大批量接口压测需求,这时候需要用比毫秒小的单位纳秒再做字符串拼接

时间戳函数操作:

1、通过函数助手,生成一个_time 函数:

2、如果参数为时间戳,那公式为:

${__time(,)}  :  默认该公式精确到毫秒级别, 13位数

${__time(/1000,)}  : 该公式精确到秒级别, 10位数

3、 如果参数需要为当前日期,那公式为:

${__time(yyyy-MM-dd,)}

${__time(YMDHMS,)}

实例demo演示:

1、使用jmeter创建一个为 时间戳重复请求demo” http请求,并添加查看结果树

采用时间戳(日期格式化)形式组成唯一参数形式:${__time(yyyyMMddHHmmssSS,)}

2、使用jmeter创建一个为 “时间戳不重复请求demo”  http请求,并添加查看结果树

采用时间戳(日期格式化+纳秒函数)

添加前置处理器-->bean shell Preprocessor

beanshell部分:

long timeStamp = System.nanoTime();
vars.put("timeStamp",timeStamp+"");
log.info("---------------------------------------"+vars.get("timeStamp"));

3、运行结果:

第一个http请求(时间戳重复请求demo)结果:

显然都是一样的如下图:

第二个http请求(时间戳不重复请求demo)结果:

本次练习jmeter工程下载链接:

https://download.csdn.net/download/wangqiang_cyou/10814770

部分参考文章:https://www.cnblogs.com/kaibindirver/p/8964295.html

JMeter实现唯一参数生成不重复时间戳的更多相关文章

  1. PHP uniqid 高并发生成不重复唯一ID

    http://www.51-n.com/t-4264-1-1.html PHP uniqid()函数可用于生成不重复的唯一标识符,该函数基于微秒级当前时间戳.在高并发或者间隔时长极短(如循环代码)的情 ...

  2. 高并发 php uniqid 用md5生成不重复唯一标识符方案

    高并发 php uniqid 用md5生成不重复唯一标识符方案uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.uniqid(prefix,more_entropy)prefix 可 ...

  3. php自动生成不重复的id

    PHP uniqid()函数可用于生成不重复的唯一标识符,该函数基于微秒级当前时间戳.在高并发或者间隔时长极短(如循环代码)的情况下,会出现大量重复数据.即使使用了第二个参数,也会重复,最好的方案是结 ...

  4. 微信公众号网页开发-jssdk config配置参数生成(Java版)

    一.配置参数 参考官方文档:http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&la ...

  5. 分布式系统的唯一id生成算法你了解吗?

    在分库分表之后你必然要面对的一个问题,就是id咋生成? 因为要是一个表分成多个表之后,每个表的id都是从1开始累加自增长,那肯定不对啊. 举个例子,你的订单表拆分为了1024张订单表,每个表的id都从 ...

  6. 分布式唯一ID生成算法-雪花算法

    在我们的工作中,数据库某些表的字段会用到唯一的,趋势递增的订单编号,我们将介绍两种方法,一种是传统的采用随机数生成的方式,另外一种是采用当前比较流行的“分布式唯一ID生成算法-雪花算法”来实现. 一. ...

  7. 分布式系统唯一ID生成方案

    分布式系统唯一ID生成方案汇总 数据库自增主键 最常见的方式.利用数据库,全数据库唯一. 优点: 1)简单,代码方便,性能可以接受. 2)数字ID天然排序,对分页或者需要排序的结果很有帮助. 缺点: ...

  8. 分布式全局唯一ID生成策略

    为什么分布式系统需要用到ID生成系统 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识.如在美团点评的金融.支付.餐饮.酒店.猫眼电影等产品的系统中,数据日渐增长,对数据库的分库分表后需要有 ...

  9. C#生成不重复的随机数(转)

    我们在做能自动生成试卷的考试系统时,常常需要随机生成一组不重复随机数的题目,在.net Framework中提供了一个专门用来产生随机数的类System.Random. 对于随机数,大家都知道,计算机 ...

随机推荐

  1. tomcat解决GET请求中文参数乱码

    通常,在使用Spring MVC框架的应用程序中,为了解决中文参数乱码的问题,都会添加如下过滤器配置: <filter> <filter-name>encodingFilter ...

  2. jsp查询修改

    也是只帖代码....不讲解. 1.search.jsp <%@ page language="java" import="java.util.*" pag ...

  3. javascript获取值

    <div id='name'>张三</div> $('#name').val() $(name).val() 以上两个都可以得到值,第一种用的比较多.

  4. Commons Lang 介绍

    https://commons.apache.org/proper/commons-lang/ https://commons.apache.org/proper/commons-lang/javad ...

  5. Volatile关键字理解

    Volatile定义 为了确保共享变量能被准确和一致的更新,线程应该确保通过排他锁单独获得这个变量.Java语言提供了volatile,在某些情况下比锁更加方便.如果一个字段被声明成volatile, ...

  6. ms sql 导出单个表数据

    然后都是下一步操作

  7. sum() over (order by )

    sum(x) over( partition by y ORDER BY z ) 分析 sum(x) over (partition by y order by z) 求安照y分区,然后按z排序,连续 ...

  8. [C++]线性链表之顺序表<一>

    顺序表中数据元素的存储地址是其序号的线性函数,只要确定了存储顺序表的起始地址(即 基地址),计算任意一个元素的存储地址的时间是相等的,具有这一特点的存储结构称为[随机存储]. 使用的基本数据结构:数组 ...

  9. 第28月第3天 c语言读写文件

    1. int ConfigIniFile::OpenFile( const char* szFileName ) { FILE *fp; size_t nLen; int nRet; CloseFil ...

  10. jinja模板语法

    模板 要了解jinja2,那么需要先理解模板的概念.模板在Python的web开发中广泛使用,它能够有效的将业务逻辑和页面逻辑分开,使代码可读性增强.并且更加容易理解和维护. 模板简单来说就是一个其中 ...