生产环境压测验证某段链路或组件的新建连接数能力时,往往需要设置很高的并发,但这种操作存在一定风险和问题,若系统设置限流值,高并发场景下容易触发限流导致接口错误率升高,同时也存在将生产环境打挂的风险;本文主要说明如何通过Jmeter脚本避免以上问题
同步计时器工作原理:比如设置100个线程、超时时间10000ms,从定时器工作开始计时,时间从0开始,在超时时间内第1个线程达到,则计时器重置为0;等待第2个线程,在超时时间内第2个线程达到,计时器重置为0;等待第3个线程... 只要相邻两个线程之间等待时间间隔没有超过10000ms,就会等待全部100线程后全部释放,否则就会停止等待立即释放。
同步计时器的两个参数设置及作用:
参数名 | 作用及设置 |
---|---|
模拟用户组的数量(Number of Simulated Users to Group by) | 与线程组中的线程数保持一致即可,相当于指定的同时释放线程数量 |
超时时间已毫秒为单位(Timeout in milliseconds) | 多少毫秒后同时释放指定的线程数 |
某项目需要验证waf新建连接数能力,需要不断加压,但为了避免过高并发将接口压挂,需要在脚本中添加同步定时器
3000并发waf新建连接数1000左右
12000并发waf新建连接数1800左右
从上面两次压测可以看到,并发数远远与用户并发量对不上,所以waf设备存在一定瓶颈,更换waf设备后继续复压验证
12000并发waf新建连接数基本与并发数对应,新waf有6台机器,平均单台机器新建连接数2k
可以看到,添加同步计时器前后,相同并发下QPS还是存在一定差距。压测场景如果不支持将QPS压到极限,但需要较高并发验证链路中组件的某些能力时,添加同步计时器效果最佳。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。