关于利用postman进行并发测试,是错误的。postman发送的请求是串行发送的
以下为我的实测记录
一、先上我测试的接口代码,就是一个redis的tryLock分布式锁的获取,接口在获取到锁后,线程sleep了5秒,此时线程是不释放锁的,那按道理第二个请求在这个时间进来,是获取不到锁的,但结果却不是这样的
@RequestMapping("/tryLock2")
public String tryLock2() throws InterruptedException {
String resStr;
System.out.println(Thread.currentThread().getName() + "开始获取锁--" + new Date().toString());
RLock rLock = redissonClient.getLock("lll");
long start = System.currentTimeMillis();
boolean res = false;
try {
res = rLock.tryLock(0, 10, TimeUnit.SECONDS);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (res) {
System.out.println(Thread.currentThread().getName() + "---成功获取锁" + new Date().toString());
try {
Thread.sleep(5000);
rLock.unlock();
resStr = Thread.currentThread().getName() + "****释放锁成功"+ new Date().toString();
System.out.println(resStr);
long end = System.currentTimeMillis();
System.out.println(Thread.currentThread().getName() + ",从开始获取锁到释放锁用时: " + (end - start));
return resStr;
} catch (InterruptedException e) {
e.printStackTrace();
}
} else {
resStr = Thread.currentThread().getName() + "****未获取锁"+ new Date().toString();
System.out.println(resStr);
return resStr;
}
return "失败了";
}
二、按照网上的那些博文,postman操作步骤如下
1、将接口save到一个包下,然后点击run
2、配置请求次数
3、点击run
4、后台接口打印如下
从后台打印可以看出,第个接口其实是间隔5秒-6秒的,这是因为接口sleep了5秒,即第一个请求到达后,接口运行好5秒,然后将结果响应回去,postman接收到响应后才发送第二请求的。文章来源:https://www.toymoban.com/news/detail-514587.html
所以最后的结论是,postman只能进行串行发送请求测试,无法进行并发测试文章来源地址https://www.toymoban.com/news/detail-514587.html
到了这里,关于经实测利用POSTMAN根本无法进行并发测试,大家不要再被一些搬运工给误导了的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!