现象:

使用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. select监听udp消息

    服务端 #!/usr/bin/python2.6 # -*- coding:utf-8 -*- import json import socket import select def socketse ...

  2. mvn项目压缩打包

    通常情况下,maven打包结果为jar或war包.如果需要一并打包配置文件等参数,通过resources配置指定需要打包的文件参数,如下示例: <project> ... <!-- ...

  3. SpringBoot系列: Redis基础

    ============================Redis 安装============================redis 采用单线程多路复用的机制提供并发访问, 用到了 Linux ...

  4. PS 使用笔记 - PS 让工作台适应 当前图层

    1.  PS 让工作台适应  当前图层 选中图层  打开 [图像]=>[裁切] 勾选以下,确定即可

  5. 伪触发 input file 的click事件

    前端在做 input file 美化的时候,通常 把 input 定位position 到 已美化的按钮最上方 opacity: 0 HTML5时代,已有更方便的方法,点击美化按钮直接触发选择文件事件 ...

  6. ElasticSearch - Shard数调优(ElasticSearch性能)

    序言 资料 https://blog.csdn.net/waneyongfu/article/details/78215972

  7. C++ 窗口

    DestroyWindow();     //销毁窗口 可重载的事件: PostNcDestroy    窗口销毁后调用

  8. python中requests的用法总结

    requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到.可以说,Requests 完全满足如今网络的需求 本文全部来源于官方文档 http://docs ...

  9. kafka为何需要High Available

    一.为何需要replication kafka0.8以前的版本中,是没有Replication的,一旦某一个Broker宕机,则其上所有的partition数据都不可被消费,这与kafka数据持久性及 ...

  10. 通过dbutil操作数据库

    dbutil操作数据库工具类 步骤 导入jar包 c3p0-0.9.1.2.jar         commons-dbutils-1.6.jar         mysql-connector-ja ...