Web中间件——Tomcat中的BIO、NIO、APR模式

简介

Tomcat在我们日常开发B/S项目时常常进行使用,当然在Spring全家桶中我们现在也是使用的内置tomcat,但是很多人可能不会对于tomcat进行深入性研究,其实在我们的产品进行性能提升时,web中间件的优化也是占有很大一部分,而tomcat中采用不同的模式对应的使用场景下性能也是不一样的,因此本篇文章将对于这几个模式进行简单讲解,后续我们会对于不同的模式进行配置方式讲解。

参见文章


​Tomcat的BIO、NIO、APR模式对比与性能测试结果​


正文

BIO 同步并阻塞

阻塞式I/O操作,这个模式使用的是Java I/O操作。该运行方式性能最低。

NIO 同步非阻塞

基于Java 缓存区提供非阻塞式I/O操作,相比BIO,该运行方式有更好的性能。当前tomcat7及以上版本默认采用该模式。

APR 异步非阻塞

以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,有效提高静态文件的处理性能。该运行方式对于高并发场景性能最高(当然高并发还有其他优化点)。

注:APR配置方式可以参见我的文章

本文声明:

Web中间件——Tomcat中的BIO、NIO、APR模式_运行方式

image


​知识共享许可协议​

本作品由 ​​cn華少​​ 采用 ​​知识共享署名-非商业性使用 4.0 国际许可协议​​ 进行许可。