我有一个带有SpringWebMVC、SpringSecurity和SpringDataJPA的SpringBoot应用程序,版本为2.2.0。我在返回字节数组的公共控制器上遇到了非常糟糕的性能。传输1.5MB blob需要150-350毫秒。在一个“空的”Spring Boot Starter项目中(从start.Spring.io开始),一个相同的控制器需要30毫秒来传输1.5兆字节。我不知道从哪里开始找问题。有什么想法吗?我通过在Chrome中请求文件来测量使用默认嵌入式tomcat服务器在本地主机上的时间。
@GetMapping("/blob")
public ResponseEntity<byte[]> getBlob() {
return ResponseEntity.ok()
.contentType(MediaType.valueOf("image/jpeg"))
.body(new byte[(int) (1024 * 1024 * 1.5)]);
}