微服务环境从下单到支付的性能优化实战

前面我们搭建了一个抢年货的微服务环境,并且实现了下单和支付的功能,本篇我们来测试下整体环境的性能如何。看看有哪些地方时可以优化的点,最终我们再次验证优化后,性能是否有所提升呢?

一、环境简介

以下所有服务都是单机部署的。

本文直接采用本地环境测试了,我的电脑配置如下:需要启动的基础服务如下:部署的服务:

二、编写测试方法

在rob-ncssitis-tst服务当中,编写测试方法,使用多线程方式调用下单和支付的接口,代码如下:

GtMapping("/concurrnt/ordr")

publicLongconcurrntOrdr(){

//使用cyclicBarrir模拟线程同时到达

CyclicBarrircyclicBarrir=nwCyclicBarrir();

for(inti=0;i;i++){

nwThrad(()-{

try{

cyclicBarrir.await();

log.info("开始时间:{}",LocalDatTim.now());

LongordrId=ordrSrvic.ordr();

concurrntHashMap.put(ordrId,ordrId);

tradingSrvic.pay(ordrId);

log.info("完成时间:{},订单id:{}",LocalDatTim.now(),ordrId);

}catch(IntrruptdExcption){

.printStackTrac();

}catch(BroknBarrirExcption){

.printStackTrac();

}

}).start();

}

rturnnull;

}

使用cyclicBarrir,等待个线程同时到达后,进行下单操作,每完成一个订单,直接调用支付服务,打印每个线程的任务开始结束时间。

三、测试验证

.1执行测试

测试接口:


转载请注明:http://www.aierlanlan.com/rzdk/2352.html