【发布时间】:2016-07-29 10:17:55
【问题描述】:
这真的很烦我,希望有人能提供帮助。
我有一个 Spring Boot 应用程序,我正在向邮递员发出请求,我需要同时发出大约 20 个单独的请求。但是,我的应用程序只接受 6,然后在这些完成后启动其他应用程序。
我将示例麻木以便在此处发布
简单的控制器方法
@RequestMapping(value = "/testPost", method = RequestMethod.POST)
public @ResponseBody String handleFileUpload() throws InterruptedException {
System.out.println("Recieved request for Thread sleeping" + Thread.currentThread().getName());
Thread.sleep(40000);
System.out.println("Recieved request for Thread waking" + Thread.currentThread().getName());
return "returning from post";
}
application.properties:我将最大线程数改为 200 而不是默认值,但没有区别
server.contextPath=/qas
server.port=8081
server.tomcat.max-threads=200
邮递员发出的请求的日志。如您所见,在 6 个请求之后,第 7 个请求仅在第一个请求空闲后才得到服务。我在没有负载平衡器的本地桌面上运行是这个原因吗?不太清楚为什么它会在 6 点停止?
日志:
2016-04-08 09:02:35.408 INFO 17700 --- [nio-8081-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/qas] : Initializing Spring FrameworkServlet 'dispatcherServlet'
2016-04-08 09:02:35.408 INFO 17700 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization started
2016-04-08 09:02:35.421 INFO 17700 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization completed in 13 ms
Recieved request for Thread sleepinghttp-nio-8081-exec-1
Recieved request for Thread sleepinghttp-nio-8081-exec-2
Recieved request for Thread sleepinghttp-nio-8081-exec-3
Recieved request for Thread sleepinghttp-nio-8081-exec-4
Recieved request for Thread sleepinghttp-nio-8081-exec-5
Recieved request for Thread sleepinghttp-nio-8081-exec-6
Recieved request for Thread wakinghttp-nio-8081-exec-1
Recieved request for Thread sleepinghttp-nio-8081-exec-7
Recieved request for Thread wakinghttp-nio-8081-exec-2
Recieved request for Thread sleepinghttp-nio-8081-exec-8
Recieved request for Thread wakinghttp-nio-8081-exec-3
Recieved request for Thread wakinghttp-nio-8081-exec-4
Recieved request for Thread wakinghttp-nio-8081-exec-5
Recieved request for Thread wakinghttp-nio-8081-exec-6
Recieved request for Thread wakinghttp-nio-8081-exec-7
Recieved request for Thread wakinghttp-nio-8081-exec-8
提前致谢
【问题讨论】:
-
大多数浏览器都限制向同一域 / url 触发 6 个并发请求。见sgdev-blog.blogspot.nl/2014/01/…。因此,它与您的后端无关,而与您如何触发请求有关。
标签: spring multithreading spring-boot postman