有个性能压测需求,商品秒杀的要做下单接口的压测,不用加入购物车的接口,直接通过下单接口压测,每个用户只能限购一件,请问这种怎么做吖?
我的做法是自动注册账号并登录,然后下单购买,不同用户生成唯一账号是靠框架支持,如果注册登录接口的性能非常差,可以做类似集合点的东西,我用的框架没有这类设计,但是可以做到。如果真的不想调用注册登录接口,那就只能先准备足够多的账号并登录,记录下该账号登录后的 cookie,下单接口携带 cookie 即可
提前准备好足够多的账号,然后用集合点让所有线程同时发压。
我的好像用的是 token,那我假如要 50 个并发,是要准备 50 个账号登录后获取到的 token 吗?然后 50 个线程去通知执行下单接口?
是的,这个集合点要准备的,主要是前期准备工作不太懂
你说的 token 应该也是附在 cookie 里面的,或者是一块 http 头信息,也有可能是 http 正文中携带,主要看你们的系统怎么设计的,这个可以问开发。如果你生成了 50 个账号的 token,那你发送 50 个下单接口请求,每个请求都要带上账号 token。你的程序框架可能是用一个线程模拟一个用户,那就是启动 50 个线程。
这应该是最简单的压测场景了吧 建立足够多的账号,使用集合点释压, 针对一个用户只能买一个的场景可以设置一下不同数量的参数
用户登录认证这些能 mock 就 mock 掉,关注点还是秒杀场景,线程数/并发数要一次性足够大
50 个线程,使用集合点,每个线程使用不同的登录
是的,是在请求头存放的 token,已解决了