并行多个机器执行,并发每台机器上多线程执行。
你写个轮询调是否结束的接口,结束了你就去取内容。
顶一顶
顶一下
对的,只是考察的时候要求稍微高点。
对场景压测比较敢兴趣,有几个疑问想作者回答一下:
前提:比如我有一个场景有 step1,step2,step3
1.压测执行时,对于一个 vuser 是串行执行 step1->step2->step3 还是执行这些步骤是随机的,如果是串行的,是怎么保证顺序;
2.场景压测的结果统计维度是什么?是分别列出 step1,step2,step3 的性能结果?
#1 楼 @Lihuazhang 定义 CountDownLatch 变量 latch,并初始化为 new CountDownLatch(1);
启动一个轮询线程,该轮询线程执行体中实现了 while 循环,每次先判断 latch.getCount() 是否为 0,如果为 0,跳出 while 循环;否则,将判断异步结果是否成功的任务提交给线程池 executor 执行,执行体会判断是否成功,成功则 latch.countDown()(导致 latch.getCount() 为 0,下次跳出 while 循环);同时,每次 while 循环执行 Thread.sleep(pollInterval.getValueInMS()); 如果轮询线程执行体 while 循环一直不满足条件,主线程将阻塞 maxTimeoutUnit:latch.await(maxTimeout, maxTimeoutUnit), 如果 latch.getCount() 不为 0,即异步校验不成功,finishedBeforeTimeout 置为 false, finishedBeforeTimeout = latch.await(maxTimeout, maxTimeoutUnit), 输出异常信息。 详情见:https://testerhome.com/topics/7596
#5 楼 @softblank http code 404,标识你的请求不存在,因为你在 tomcat 下 webapp 部署的文件名为 ngrinder-controller-3.3,你请求的 URL 应该是: http://localhost:8080/ngrinder-controller-3.3
#5 楼 @softblank 你说用到了版本 3.4.1,为什么错误栈中"/Users/a58/Library/Tomcat/webapps/ngrinder-controller-3.3" 提示是 3.3 的版本?
越来越好