Spring Boot嵌入式Tomcat性能

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

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

那么基本上嵌入式tomcat和独立tomcat之间的区别是什么呢?

两次执行之间的表现有何不同?

最佳答案
我找到了这个问题的根本原因.

APR(Apache Portable Runtime)在tomcat线程执行中起着重要作用.

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

事实上,所有基于Linux的tomcat包都附带了tomcat lib文件夹下的APR库.

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

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

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...