关于利用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接收到响应后才发送第二请求的。
所以最后的结论是,postman只能进行串行发送请求测试,无法进行并发测试
















