小编典典

Spring Boot嵌入式Tomcat性能

spring-boot

我正在为我的应用程序开发Microservices API。我从Spring Boot应用程序开始。我创建了两个工件- “带有嵌入式tomcat的
业务代码 “没有嵌入式tomcat的业务代码”

比较性能结果时,我可以看到“非嵌入式tomcat”(即在独立的tomcat上执行)由于本机执行而提供了良好的输出。

那么, 关于实现,嵌入式tomcat和独立tomcat 基本上有 什么区别?

两次执行之间的性能如何变化?


阅读 390

收藏
2020-05-30

共1个答案

小编典典

我发现了此问题的真正根本原因。

APR(Apache可移植运行时)在tomcat线程执行中起着重要作用。

默认情况下,嵌入式tomcat执行NIO。
NIO和BIO是基于Java的执行,而APR是本机执行。当我们比较NIO和APR的性能时,APR的速度要快得多。

实际上,所有基于Linux的tomcat软件包都随附于tomcat lib文件夹下的APR库。

在嵌入式tomcat中启用APR后(即Spring Boot),与独立tomcat相比,性能执行相同。

http://tomcat.apache.org/tomcat-7.0-doc/apr.html

2020-05-30