提问1
如何在大并发测试下,让登录或者后续接口只执行一次?
回答
这个问题网上的答案其实很多,但是大多不靠谱。 比如推荐使用仅一次控制器,但是仅一次控制器对线程组无效;比如推荐跨线程组调用,但是这样比较繁琐,新人也搞不定; 其实只要各位对元件熟悉,这个问题很简单
下图100线程:
添加一个吞吐量定时器,选择总数计算
下面这就ok了,是不是很简单?
提问2
大并发的登录之后,后续接口在做并发的时候有一些session重复了,并发量越大,重复几率越高。如何保证后续并发的session不重复?
回答
原因其实是因为jmeter的多线程存在竞争机制,那么并发量很大的时候,就会有一部分线程下的请求抢到了同样的session。 我们可以把这些登录口令在并发登录的时候先在本地保存一份哦,用来代替用户名密码做登录参数!
比如下图所示的session
写个小脚本把这些session保存下来
后续并发的时候直接引用这些cookie就行了
但是这种也有缺点,脚本会略微的影响吞吐量