工具
一、postman模拟http测试。
1.进入Collections
2.new一个Collection文件夹
3.save需要测试的接口到文件夹
4.选中文件夹展开,进入run,配置环境并运行。
二、Apache Bench(AB)
命令行工具,根据ab命令可以模拟多个访问者同时对某一个访问者进行访问,可以测试负载压力。
ab -n 1000 -c 50 加接口
三、JMeter
代码
一、CountDownLatch+Semaphore+线程池
@Slf4j
@ThreadUnsafe
public class ConcurrencyTest {
//请求总数
public static int CLIENT_TOTAL=5000;
//同时并发执行的线程数
public static int THREAD_TOTAL=200;
public static int count=0;
public static void main(String[] args)throws Exception{
ExecutorService executorService= Executors.newCachedThreadPool();
final Semaphore semaphore=new Semaphore(THREAD_TOTAL);
final CountDownLatch countDownLatch=new CountDownLatch(CLIENT_TOTAL);
for(int i=0;i<CLIENT_TOTAL;i++){
executorService.execute(()->{
try{
semaphore.acquire();
add();
semaphore.release();
}catch (Exception e){
log.error("except",e);
}
countDownLatch.countDown();
});
}
countDownLatch.await();
executorService.shutdown();
log.info("count:"+count);
}
private static void add(){
count++;
}
}
网友评论