在大量流量下出现嵌入式Netty性能问题的Spring Boot 2 jar

时间:2019-02-19 14:42:04

标签: spring spring-boot netty spring-webflux

我有一个使用Spring Boot 2.1.1,webflux,RouteFunction和webfilter实现的后端服务。它使用默认的Netty服务器,并打包为jar。接收到请求后,后端将从缓存中读取或通过Webclient发送6个请求,然后将聚合数据存储到缓存中并返回给用户(ulimit -n显示16384)。当我们将其部署到具有巨大流量(超过2000个并发请求)的生产环境中时,我们发现CPU很快过载(top命令显示CPU使用率为190%,mem约为30%)。服务器最初响应缓慢,然后逐渐停止响应。然后,我们调整了代码,用RestController替换了RouteFunction,用常规的servlet文件管理器替换了webfilter,将其视作战争,并部署到了Tomcat。以上所有问题均已解决。 CPU徘徊在40%左右,数据响应速度很快。有人遇到过类似的问题吗?我怀疑导致jar过载的jar传入请求的数量没有限制

0 个答案:

没有答案