为了配合一个接口测试,做了一个类似 “mockserver”,用来替代线上的服务;
springboot 代码段就是这些,很简单,打成 jar 包扔服务器上启动的。
功能就是收到请求就返回 OK,code200。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.context.request.async.DeferredResult;
@SpringBootApplication
@RestController
public class MockServerApplication {
public static void main(String[] args) {
SpringApplication.run(MockServerApplication.class, args);
}
@RequestMapping(value = "/**")
public DeferredResult<ResponseEntity<String>> handler(
@RequestParam(value = "take", defaultValue = "1") Long take,
@RequestParam(value = "body", defaultValue = "OK") String body,
@RequestParam(value = "code", defaultValue = "200") int code) {
return new DeferredResult<>(take,
new ResponseEntity<>(body, HttpStatus.valueOf(code)));
}
}
给被测服务提供 mock 之前,自测性能,发现了问题。
多线程请求,响应时间都维持在 1000ms
后尝试单线程连续请求,也是同样的情况,响应时间都维持在 1000ms
这样是不够能力提供 mock 的,1000ms 的响应时间到底是哪里出的问题,查资料无果,来论坛求助。